0

      假如我有2台服务器A和B,我建立了一个相同结构的Sequential模型,同时在2个服务器上跑, 保存后得到了2个h5的文件,我是否能将这2个文件进行合并,得到一个新的结果,来提升成功率。 

      我是在看到了A3C的理念后,想到的,希望能在多台服务器进行学习,然后和主服务器通讯,更新结果,并获取新的模型数据,再进行下一轮学习。

      在网上搜索了很久没有看到类似的情况,不知道是用model.updates还是model.add_update,或其他什么方法?是只更新权重还是包含优化器状态?

      希望有人帮助得到解答,谢谢,祝大家新年快乐!

 

豆豆爹地   2019-02-10 12:28



   2个回答 
0

最简单的方法就是直接把结果合并,类似于stacking

每个服务器都训练出一个模型,每个模型的预测值的平均值就可以作为你合并之后的结果

或者也可以ensemble,把每个模型的输出值作为ensemble模型的输入值,再训练一个小模型

SofaSofa数据科学社区 DS面经 问答 实战

何立诚   2019-02-11 04:47

0

这些天我思考了一下,keras在fit的时候,应该也是进行了数据更新,可fit部分的代码确实没看懂。。。。

找到到一个类似的代码,如下:

updates = self.rms_optimizer.get_updates(self.model.trainable_weights, [], loss)

K.function([self.model.input, self.discounted_r], [], updates=updates)

这个是更新了loss,keras里面最重要的是权重还是loss?这2者的关系很困惑,fit学出来保存的好像是权重,loss呢。。。

之前的貌似被吞了,现在补上。。。

SofaSofa数据科学社区 DS面经 问答 实战

豆豆爹地   2019-02-15 09:35



  相关主题

keras.models.Sequential()是一种什么模型   1回答

怎么在keras中加载MNSIT数据集?   2回答

keras load_model报错   1回答

keras中怎么增加Leaky relu的激活层   1回答

关于DQN训练速度慢的问题   0回答

Bellman equation里没有梯度下降为什么会有学习率?   1回答

Q-learning里的Q是什么意思?   1回答

关于张量运算,求问框框部分运算是怎么计算的?具体运算规则是怎样的?   1回答

神经网络中的dense和sparse是什么意思?   2回答

神经网络中的Dropout和Bagging   1回答

pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题   1回答

神经网络中的gradient check是什么意思?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!