繁体   English   中英

如何同时使用Tensorflow tf.nn.Conv2d进行训练和预测?

[英]How to use Tensorflow tf.nn.Conv2d simultaneously for training and prediction?

我目前正在深入研究tensorflow,并且对tf.nn.Conv2d(input, filter, strides, padding)的正确使用感到有点困惑。 尽管乍看之下看起来很简单,但我无法理解以下问题:

对我来说filter, strides, padding使用filter, strides, padding很清楚。 但是,尚不清楚input的正确应用。

我来自强化学习Atari(Pong)问题,在该问题中,我想使用网络进行批量训练,并且(一定概率)也要在每个步骤中进行预测。 这就是说,为了进行训练,我向网络馈送了整批数据,比如说100,每个单元由3个尺寸为160、128的帧组成。使用tensorflow的NHWC格式,我输入的input将是形状的tf.placeholder (100,160,128,3) 因此,对于培训,我要喂养100 160x128x3包。

然而,从我的网络预测输出时(上升或下降与乒乓球桨),在一定的情况下,我只喂160x128x3的网络的一个包 (即三个框架的一个包)。 现在这是张量流崩溃的地方。 它期望(100,160,128,3)但接收(1,160,128,3)

现在我很困惑。 我显然不想将批次大小设置为1,并且始终只提供一个软件包进行培训。 但是我该怎么办? 如何使用tf.nn.conv2d来实现?

如果有人不能引导我朝正确的方向前进,我将不胜感激

预先感谢您的帮助! 凯文

您需要按照以下tf.placeholder(shape =(None,160,128,3)....)的方式设置占位符,在第一个维度中设置None,您的占位符将灵活地适应您输入1或100的任何值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM