Deep Learning實踐中報錯查詢手冊(持續更新)
阿新 • • 發佈:2019-02-13
ResourceExhaustedError: OOM when allocating tensor with shape
在使用keras訓練模型時報錯,問題原因:
GPU視訊記憶體不足,解決方案有:
1. 終端使用nvidia-smi命令檢視顯示卡狀態,將其他佔用程序kill掉。
2. 將訓練的batch_size調小
MemoryError
在將資料歸一化時報錯,問題原因:
資料size過大((10000,224,224,3)),歸一化時需要轉化成浮點數,每個資料佔用位元組16,共需要記憶體16x10000x224x224x3
解決方案:
分批次匯入資料
EOFError: Ran out of input
pickle.load(filename) 匯入資料報錯。
在終端使用
ls -l|grep "filename"
檢視後發現該檔案是空的,故報錯。
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0: invalid start byte
使用pickle.load()時候報錯,原因是讀取檔案時要加上檔案的許可權引數:‘rb’ 或者 ‘wb’
# load data
import pickle
with open("/to/file","rb") as file1:
my_data = pickle.load(file1)
TypeError: only integer scalar arrays can be converted to a scalar index
使用numpy.concatenate()函式時報錯,錯誤原因:
y1 = np.repeat(0.0,50)
y2 = np.repeat(1.0,50)
y_vals = np.concatenate(y1,y2)
y1,y2遺漏了括號
concatenate((a1, a2, …), axis=0)
FailedPreconditionError: Attempting to use uninitialized value Variable/Momentum
使用tensorflow.train的優化器時候報錯,因為部分優化器引入了新的變數,需要初始化。
初始化宣告
init = tf.initialize_all_variables()
sess.run(init)
只初始化當前圖已建立的變數,即在該宣告之前建立的變數。
將初始化宣告移動到優化器之後即可。
ValueError: Tensor A must be from the same graph as Tensor B
當前tensorflow計算圖有多個圖,需要重新reset圖。按如下步驟:
1、重新啟動python終端
2、在程式碼前新增:
tf.reset_default_graph()
或者
from tensorflow.python.framework import ops
ops.reset_default_graph()