keras 并行九三_单GPU上多个Keras模型的并行拟合

我试图在一个GPU上并行安装多个小型Keras型号 . 由于我需要将它们从列表中删除并一次训练它们的原因 . 由于我不熟悉标准的多处理模块,我使用了pathos .

我试图做的是这样的:

from pathos.multiprocessing import ProcessPool as Pool

import tensorflow as tf

import keras.backend as K

def multiprocess_step(self, model):

K.set_session(sess)

with sess.graph.as_default():

model = step(model, sess)

return model

def step(model, sess):

K.set_session(sess)

with sess.graph.as_default():

model.fit(x=data['X_train'], y=data['y_train'],

batch_size=batch_size

validation_data=(data['X_test'], data['y_test']),

verbose=verbose,

shuffle=True,

initial_epoch=self.step_num - 1)

return model

config = tf.ConfigProto()

config.gpu_options.allow_growth = True

config.gpu_options.visible_device_list = "0"

sess = tf.Session(config=config)

K.set_session(sess)

with sess.graph.as_default():

pool = Pool(8).map

model_list = pool(multiprocess_step, model_list)

但无论我尝试什么,我都会收到一个错误声称模型似乎不在同一个图表上......

ValueError: Tensor("training/RMSprop/Variable:0", shape=(25, 352), dtype=float32_ref) must be from the same graph as Tensor("RMSprop/rho/read:0", shape=(), dtype=float32).

异常起源于model.fit()行,所以即使我试图在每个可能的位置设置它,我必须对会话图的分配做错了吗?

有没有人有类似的经历?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值