換了一臺RTX2060的電腦以後,用tensorflow作實驗發現沒有使用GPU,那我換電腦就沒有意義了。而後百度發現tensorflow-gpu纔是使用GPU來運算的。因而又花了三個多小時來下載安裝,爲啥比CPU的複雜這麼多,唉~。終於安裝成功以後,運行程序的時候又報錯,也就是本文這個錯誤,查閱資料後發現解決方法,因而記錄一下。php
這是GPU內存的問題
tensorflowsession
config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config)
kerascode
config = tf.ConfigProto() config.gpu_options.allow_growth = True keras.backend.tensorflow_backend.set_session(tf.Session(config=config))
或者內存
config = tf.compat.v1.ConfigProto(allow_soft_placement=True) config.gpu_options.per_process_gpu_memory_fraction = 0.3 tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))
詳細解析get
import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ['CUDA_VISIBLE_DEVICES'] = "0,1"//選擇哪一塊gpu,若是是-1,就是調用cpu config = tf.ConfigProto()//對session進行參數配置 config.allow_soft_placement=True : 若是你指定的設備不存在,容許TF自動分配設備 config.gpu_options.per_process_gpu_memory_fraction=0.7//分配百分之七十的顯存給程序使用,避免內存溢出,能夠本身調整 config.gpu_options.allow_growth = True//按需分配顯存,這個比較重要 session = tf.Session(config=config) ##或者 with tf.Session(config=config) as sess:
南島鶓博客博客