首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在tensorflow中使用sess.run()有多昂贵?

在tensorflow中使用sess.run()有多昂贵?
EN

Stack Overflow用户
提问于 2018-09-06 08:07:37
回答 1查看 146关注 0票数 0

我使用tensorflow用python编写了一个机器学习算法。算法伪代码如下图所示。在这个算法中,我在训练循环中多次使用sess.run()。我必须使用多个sess.run()的原因是,为了计算δ,我必须在不同的输入上计算相同的神经网络。由于某些原因,我仍然不知道我的代码非常慢(请参阅codereviewai查看代码和相关问题)。

图取自理查德·S·萨顿和安德鲁·G·巴托合著的“Reinforcement Learning An Introduction”一书。

我对这个堆栈的问题如下:

1)做两个sess.run()比做一个代价高多少。例如:

去做,

代码语言:javascript
复制
sess.run([op1],feed_dict={input:data})
sess.run([op2],feed_dict={input:data}) 

而不是,

代码语言:javascript
复制
sess.run([op1,op2],feed_dict={input:data})

有什么不同吗?

2)什么是在同一步骤中在不同输入下评估同一神经网络的有效方法?

我目前计算δ的方法如下:

代码语言:javascript
复制
self.delta = self.time_step_info['r'] + (not self.time_step_info['d'])*self.gamma*sess.run(self.critic(),feed_dict={self.state_in:self.time_step_info['s1']}) - sess.run(self.critic(),feed_dict={self.state_in:self.time_step_info['s']})
EN

回答 1

Stack Overflow用户

发布于 2018-09-06 08:22:52

关于你的第一个问题,我不确定。

但是对于你的第二个问题,正如你可能已经知道的,输入应该是一个矩阵。一个矩阵可以包含多个X。神经网络将生成一个相应的结果矩阵Y,该矩阵Y的每一行都是X中行的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52194820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档