''' 打印循环中的W和b'''
import tensorflow as tf
import pprint
for i, filter_size in enumerate([2,3]):
with tf.name_scope("conv-maxpool-%s" % filter_size):
# Convolution Layer
filter_shape = [filter_size, 1, 1, 8] # [2, 1, 1, 8]和[3, 1, 1, 8]
# tf.truncated_normal() 正态分布
# 这里设置seed=1,可以保证下一次filter_size为2时,得到的W和这次filter_size=2时是一样的,
# 而且,filter_size=2和filter_size=3时是不一样的
W = tf.Variable(tf.truncated_normal((filter_shape), stddev=0.1, name="W", seed=1)) # [2, 1, 1, 8]和[3, 1, 1, 8]
b = tf.Variable(tf.constant(0.1, shape=[8], name="b")) # [8]
# 用两个列表分别来保存W和b
W_lt = []
b_lt = []
for filter_size in [2,3]:
# 这里, W:0 表示w这个张量是计算节点"W"输出的第一个结果(编号从0开始)
w = tf.get_default_graph().get_tensor_by_name('conv-maxpool-%s/W:0' % filter_size)
W_lt.append(w)
b = tf.get_default_graph().get_tensor_by_name('conv-maxpool-%s/b:0' % filter_size)
b_lt.append(b)
with tf.Session() as sess:
init_op = tf.global_variables_initializer()
sess.run(init_op)
pprint.pprint(sess.run(W_lt))
pprint.pprint(sess.run(b_lt))
tensorflow打印循环中的权重W和偏置b
最新推荐文章于 2023-11-23 11:24:24 发布