keras搬砖系列-多GPU上使用keras

keras搬砖系列-多GPU上使用keras

1,数据并行

数据并行是将目标模型在多个设备上各复制一份,并使用每个设备上的复制品处理整个数据集的不同部分数据。

from keras.utils import multi_gpu_model

parallel_model = multi_gpu_model(model,gpus=8)
parallel_model.compile(loss='categorical_crossentropy',optimizer='rmsprop')
parallel_model.fit(x,y,epochs=20,batch_size=256)

2,设备并行

设备并行是在不同的设备上运行同一个模型的不同部分,当模型含有多个并行的结构,这个方法比较适合。

input_a = keras.Input(shape=(120,256))
input_b = keras.Input(shape=(140,256))

shared_lstm = keras.layers.LSTM(64)

with tf.device_scope('/gpu:0'):
	encoded_a = shared_lstm(tweet_a)
with tf.device_scope('/gpu:1'):
	encoded_b = shared_lstm(tweet_b)

with tf.device_scope('/gpu:0'):
	merged_vector = keras.layers.concatenate([encoded_a,encoded_b],axis=-1)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值