2017-07-04 11 views
2

複数のサブネットワーク(複数のコンボリューションネットと最後に完全に接続された+ソフトマックスレイヤー)でネットワークを構成しました。すべてのConvNetフィードは、特定の領域と画像のサイズを持ちます。私のネットワークにフィードするために、すべてのconvnet入力用のイメージプレースホルダーと、すべてのイメージのラベルを1つのバッチにフィードするためのラベルプレースホルダーを書きます(すべてのコンバット入力のすべての入力イメージに同じラベルが付いています)。 残念ながら私はfeed_dictの部分については考えていません。 例えば、このコードは、唯一のconvnetの訓練のためにある:テンソルフローでfeed_dictを使って複数入力を入力する方法

images_r, labels_r = sess.run([images, labels]) 
    train_feed = {images_placeholder: images_r, 
       labels_placeholder: labels_r} 
    _, loss_value = sess.run([train_op, loss_func], feed_dict=train_feed) 

は、どのように私はすべてのCONVネットは、飼料用のコード上に延びることができますか?

+0

conv_1_inputconv_2_input .... conv_N_input、そしてあなたは、このようなfeed_dictにリストを渡します私はあなたの質問を正しく取得します。 ネットワークに複数の入力ポイントがありますか?もしそうなら、各訓練ステップで、そのような入力ポイントの入力を提供する必要がありますか? – GPhilo

答えて

4

、入力のplaceholdersがある場合:私はよく分からない

train_feed = {`conv_1_input`: image_1, `conv_2_input`: image_2,.. `conv_N_input`: image_N, 
      labels_placeholder: labels_r} 
_, loss_value = sess.run([train_op, loss_func], feed_dict=train_feed) 
+0

このメソッドを使用した後、私はこのエラーを受け取りました。 TypeError:feed_dictキーをTensorとして解釈できません:関数をTensorに変換できません。 –

+0

変数 'conv_1_input'、' conv_2_input'はテンソルでなければなりません。 –

-1

画像を計算グラフの中に分割/スライスし、代わりに1つの入力を使用する必要があります。 convネットワークのそれぞれについてだから、

+0

残念ながら私のパッチ(元の画像から)には全く同じ特徴がなく、いくつかのランドマークに基づいて元の画像からそれらを抽出します。 (例えば、私たちは人間の顔の元の画像を持っていると考えて、私のランドマークは目の中心、鼻の先端、唇の角の5点です)。 そのため、関連するすべてのfeed_dictをフィードするために、抽出したパッチを使用する必要があります。 –

関連する問題