Keras BUG (持續更新)

Keras BUG (持續更新)

記錄在使用keras中出現的各種問題以及解決方法

keras multiple_gpu_model causes “Can’t pickle module object” error

多GPU運行模型,其中使用 ModelCheckpoint 回調函數在每個epoch後保存模型,如果參數中沒有添加save_weights_only=True則會在第一個epoch運行結束後出現如題錯誤
解決方法:
ModelCheckpoint 函數中添加save_weights_only=True 參數

from keras.callbacks import ModelCheckpoint
callbacks_list = [ModelCheckpoint(filepath, monitor='val_loss',
                          verbose=1, save_best_only=True, save_weights_only=True)]

could not convert BatchDescriptor to cudnn tensor descriptor: CUDNN_STATUS_BAD_PARAM

在一個epoch還沒有訓練完成的中途出現該error,可能是因爲數據量n和GPU的數量num_gpu以及batch_size的大小關係不符合:
n % batch_size > num_gpu
解決方法:

 減少或增加數據 or 改變`batch_size`的大小

以符合n % batch_size > num_gpu

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章