2016-02-09 4 views
8

に部分的に変換されたテンソルを変換できません:はtruncated_normal例えば、形状を指定する必要がTensorFlowには多くの方法がありTensorFlow

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 

私は形状の入力[なし、784]、のプレースホルダを持っていますバッチサイズが変わる可能性があるため、最初の次元はNoneです。私は固定されたバッチサイズを使用することができますが、それでもテスト/検証セットサイズとは異なります。

完全に指定されたテンソルの形状が必要なため、このプレースホルダーをtf.truncated_normalに送ることはできません。 tf.truncated_normalに異なるテンソル形状を受け入れる簡単な方法は何ですか?

答えて

12

1つの例としてまとめて入力するだけで済みます。つまり、形状に余分な寸法を加えることを意味します。

batch_size = 32 # set this to the actual size of your batch 
tf.truncated_normal((batch_size, 784), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 

このようにして、プレースホルダーに「フィット」します。

あなたを変更するBATCH_SIZE予想される場合にも使用することができます。

input_tensorは、プレースホルダまたはちょうどこのノイズは、それに追加したとしているものは何でもテンソル可能性があり
tf.truncated_normal(tf.shape(input_tensor), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 

+0

このソリューションの問題は、Tensorの各ラインに同じノイズが追加されることです。 –

+0

フェアポイントこれを修正してより明確にするバリエーションを提供します。 –

+0

私は仮想ソリューションに非常に興味があります。私はしばらく前から探していたからです。 –

関連する問題