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