Keras使用多张显卡训练还是比较方便,在代码中添加下面代码就可以
import os
#指定显卡
os.environ["CUDA_VISIBLE_DEVICES"] = "4, 5"
from keras.utils import multi_gpu_model
#分解模型
parallel_model = multi_gpu_model(model, gpus=2)
有一些问题需要注意
multi_gpu_model函数源文件注释中写道
'''
To save the multi-gpu model, use `.save(fname)` or `.save_weights(fname)`
with the template model (the argument you passed to `multi_gpu_model`),
rather than the model returned by `multi_gpu_model`.
'''
如果想保存单GPU模型,需要调用multi_gpu_model函数传入model的.save()或.save_weights()。
如果直接调用parallel_model.save()或.save_weights(),保存的是多GPU模型参数。