Keras使用多个GPU并行

model = Model(inputs=[v_i, v_j], outputs=output_list)
model = multi_gpu_model(model,4)
model.compile(....)

主要就是第二句话中的

multi_gpu_model函数,会把数据和模型分到多个gpu上执行
有个坑,就是整个程序导入keras时要么全部from keras import ...,要么全部 from tensorflow.python.keras import ...,不能tensorflow里的keras不能和原生keras混用,
要不就会报Node' object has no attribute 'output_masks的错误
https://blog.csdn.net/sinat_26917383/article/details/75633754上边博客里边动态分配内存时,如果使用的是tensorflow里的keras那么不用set_session,如果远程keras那么需要K.set_session(sess)