import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tf#tensorboard --logdir="./"# 命令行参数 python x.py --max_step=500
tf.app.flags.DEFINE_integer("max_step",1000,"train step number")FLAGS = tf.app.flags.FLAGSdef linearregression():with tf.variable_scope("original_data"):X = tf.random_normal([100,1],mean=0.0,stddev=1.0)y_true = tf.matmul(X,[[0.8]]) + [[0.7]]with tf.variable_scope("linear_model"):weights = tf.Variable(initial_value=tf.random_normal([1,1]))bias = tf.Variable(initial_value=tf.random_normal([1,1]))y_predict = tf.matmul(X,weights)+biaswith tf.variable_scope("loss"):loss = tf.reduce_mean(tf.square(y_predict-y_true))with tf.variable_scope("optimizer"):optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)#收集观察张量tf.summary.scalar("losses",loss)tf.summary.histogram("weight",weights)tf.summary.histogram("biases",bias)#合并收集的张量merge = tf.summary.merge_all()init = tf.global_variables_initializer()saver = tf.train.Saver()with tf.Session() as sess:sess.run(init)# print(weights.eval(),bias.eval())# # 模型加载# saver.restore(sess,"./model/linearregression")# print(weights.eval(),bias.eval())filewriter = tf.summary.FileWriter("./tmp",graph=sess.graph)for i in range(FLAGS.max_step):sess.run(optimizer)print("loss:", sess.run(loss),i)print("weight:", sess.run(weights))print("bias:", sess.run(bias))summary = sess.run(merge)filewriter.add_summary(summary,i)#checkpoint文件,模型保存saver.save(sess,"./model/linearregression")if __name__ == '__main__':linearregression()