0

次のように私は、変数を作成します。TensorFlowは、TensorBoardビジュアライゼーションの変数に余分な名前空間を作成するのはなぜですか?

x = tf.placeholder(tf.float32, shape=[None, D], name='x-input') # M x D 
# Variables Layer1 
#std = 1.5*np.pi 
std = 0.1 
W1 = tf.Variable(tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1')) # (D x D1) 
S1 = tf.Variable(tf.constant(100.0, shape=[1], name='S1')) # (1 x 1) 
C1 = tf.Variable(tf.truncated_normal([D1,1], mean=0.0, stddev=0.1, name='C1')) # (D1 x 1) 

が、何らかの理由のtensorflowのための私の可視化に余分な変数のブロックを追加します。

enter image description here

は、なぜそれがこれをやっていると私はそれをどのように停止しますか?

答えて

3

あなたは間違ってこのようにあなたのコードが無名の変数、および名初期化子オペアンプW1を作成TF

W1 = tf.Variable(tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1')) 
        \----------------------------------------------------------/ 
              initializer 
    \-------------------------------------------------------------------------/ 
           actual variable 

で名前を使用しています。このため、W1という名前のグラフに表示されているのはW1ではなく、という名前の初期設定がに変更され、W1の名前はVariableとなります(TFは名前のつけられていない操作に割り当てます)。これは、実際の変数のW1という名前のノードが作成され、それは(そのランダムな値を播種するために使用されている)が取り付け小さな初期化ノードを有するであろう

W1 = tf.Variable(tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1') 

であるべきです。

関連する問題