2016-02-09 14 views
8

bir kısmen dönüştürülmüş tensörünün dönüştürülemez:truncated_normal örneğin bir şekil belirtilmesi gerekir TensorFlow birçok yöntem vardır TensorFlow

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

bir şeklin girdi [hiçbiri, 784], bir tutucu sahip birinci boyut Yoktur çünkü parti boyutu değişebilir. Sabit bir parti boyutu kullanabilirdim, ancak yine de test/doğrulama seti boyutundan farklı olurdu.

Ben tam olarak belirtilmiş tensör şeklini gerektirdiğinden tf.truncated_normal için bu yer tutucu besleyemez. Tf.truncated_normal'ın farklı tensör şekillerini kabul etmesinin basit bir yolu nedir?

cevap

12

Sadece tek bir örnek olarak ancak toplu iş şeklinde sardırınız gerekir. Yani bu, şekle ekstra bir boyut eklemek anlamına gelir, örn.

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) 

Bu şekilde yer tutucuya "sığdır".

sizin de kullanabilirsiniz değiştirmek batch_size bekliyorsanız: input_tensor tensör bu gürültü ekletmeye gidiyor ne olursa olsun bir yer tutucu ya da sadece olabilir

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

.

+0

Bu çözümle ilgili sorun, Tensor'un her satırına aynı gürültüyü ekleyebilmesidir –

+0

Fuar noktası Bunu düzeltmek ve daha net hale getirmek için bazı varyasyonlar vereceğim –

+0

Bir hipotetik çözümle çok ilgileniyorum, çünkü şimdi bir süredir bir tane arıyordum. –