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

你可能感兴趣的:(Keras)