具体程序:
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
max_steps = 1000
learning_rate = 0.001
batch_size = 100
data_dir = "MNIST_data"
log_dir = "log"
mnist = input_data.read_data_sets(data_dir, one_hot=True)
def variable_summaries(var):
with tf.name_scope("summaries"):
# 求解函数传递进来的var参数的平均值,并使用scaler()函数进行汇总
# 函数scalar()原型为scalar(name,tensor,collections)
# 其中参数name是展示在TensorBoard上的标签,tensor就是要汇总的数据
mean = tf.reduce_mean(var)
tf.summary.scalar("mean", mean)
# 汇总var数据的方差值,并将标签设为stddev
stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
tf.summary.scalar("stddev", stddev)
# 汇总var数据的最大值
tf.summary.scalar("max", tf.reduce_max(var))
# 汇总var数据的最小值
tf.summary.scalar("min", tf.reduce_min(var))
# 使用histogram()将var数据汇总为直方图的形式
# 函数原型histogram(name,values,collections)
# 其中参数name是展示在TensorBoard上的标签,tensor就是要汇总的数据
tf.summary.histogram("histogram", var)
def create_layer(input_tensor, input_num, output_num, layer_name, act=tf.nn.relu):
with tf.name_scope(layer_name):
with tf.name_scope("weights"