# coding:UTF-8 import os import tensorflow as tf import numpy as np import matplotlib.pyplot as plt os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 忽略不必要的警告 # 输入数据 x_data = np.random.rand(100).astype(np.float32) noise = np.random.normal(0, 0.05, x_data.shape) y_data = x_data * 3 + 2 + noise # 数据可视化,输出原始数据 fig = plt.figure() ax = fig.add_subplot(1, 1, 1) # 参数为输出图框的编号 ax.scatter(x_data, y_data) plt.ion() plt.show() # 创建结构 start weight = tf.Variable(tf.random_uniform([1], -1, 0, 1, 0)) biases = tf.Variable(tf.zeros([1])) # 设置 weight 和 biases的初值 y = weight * x_data + biases loss = tf.reduce_mean(tf.square(y - y_data)) # 损失函数 optimizer = tf.train.GradientDescentOptimizer(0.7) # 下降方法 梯度下降 参数表示训练效率,通常小于1,实践发现参数不能太大 train = optimizer.minimize(loss) # 优化目标,使loss最小化 init = tf.global_variables_initializer() # 创建结构 end # 开始训练 sess = tf.Session() sess.run(init) for i in range(0, 100): sess.run(train) if i % 10 == 0: new_weight = sess.run(weight) new_biases = sess.run(biases) print(i, new_weight, new_biases) # 数据可视化 lines = ax.plot(x_data, new_weight * x_data + new_biases, 'r-', lw=5) # r-表示红色,lw表示线的宽度 plt.pause(0.5) ax.lines.remove(lines[0])
tensorflow:简单实现以及 数据可视化
猜你喜欢
转载自blog.csdn.net/qq_25987491/article/details/80469636
今日推荐
周排行