0
私はテンソルが表示されていないことについて質問があります。 私は以下のようにコード化していますが、名前が 'ttt'、 'l1a'または 'l1_maxpool'のテンソルがあると思いますが、tf.all_variables関数では見えません。 しかし、その位置にブレークポイントをトグルすることによって、それらが存在します。Tensorflow:示されていないテンソル
なぜ表示されないのか、またはコードを変更する必要がある他の理由はありますか? ありがとうございます。
import tensorflow as tf
def init_weights(shape, name):
return tf.Variable(tf.random_normal(shape, stddev=0.01), name=name)
X = tf.placeholder("float", [None, 28, 28, 1])
Y = tf.placeholder("float", [None, 10])
w = init_weights([3, 3, 1, 32], 'w')
w2 = init_weights([3, 3, 32, 64], 'w2')
w3 = init_weights([3, 3, 64, 128], 'w3')
w4 = init_weights([128 * 4 * 4, 625], 'w4')
w_o = init_weights([625, 10], 'w_o')
ttt = tf.nn.conv2d(X, w, strides=[1, 1, 1, 1], padding='SAME', name='ttt')
l1a = tf.nn.relu(ttt, name='l1a')
l1 = tf.nn.max_pool(l1a, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME', name='l1_maxpool')
with tf.Session() as sess:
tf.initialize_all_variables().run()
z_ttt = tf.get_default_graph().get_tensor_by_name(ttt.name)
z_l1 = tf.get_default_graph().get_tensor_by_name(l1.name)
tensors = tf.all_variables()
for k in range(len(tensors)):
print tensors[k].name
kk = 0;
'tf.all_variables()'は変数リストを返します。 'ttt'は' Tensor'ではなく 'variables'です。これが 'テンソル'に存在しない 'ttt'の理由です – xxi