簡體   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