TensorFlow/Python的一个范例代码及阅读说明

发出来的原因,是吾觉得自己已经看明白了。

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

# 所有的人工智能程序,都是4个步骤:
# 数据。
# 模型建立。
# 训练。
# 测试与应用。

# 10个数据, 一维数组
x_data = np.random.randn(10)
# 10个数据
y_data = x_data * 0.3 + 0.15

# 两个变量, float32
weight  = tf.Variable(0.5)
print(weight, "END")
bias    = tf.Variable(0.0)
print(bias, "END")
# 因为 weight/bias是变量,所以y_model实际上是操作。应该是Add操作
y_model = weight * x_data + bias
print(y_model, "END")

# Pow操作的损失函数,也就是与期望相差的情况。所以叫损失函数可能意思不准确,叫衡量函数?
loss = tf.pow((y_model - y_data), 2)
print("loss=", loss, "END")

# 梯度下降训练法。可以看出,这里是取最小的loss。
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)
print("train_op=", train_op, "END")

# 这两句是必然写法。
sess = tf.Session()
print("sess=", sess, "END")
init = tf.initialize_all_variables()
print("init=", init, "END")

# 初始化
sess.run(init)

# 训练200次,每次都输出两个变量的变化。
for _ in range(200):
    sess.run(train_op)
    print(weight.eval(sess), bias.eval(sess))

# 画点
plt.plot(x_data, y_data, 'ro', label='Original data')
# 画线?
plt.plot(x_data, sess.run(weight) * x_data + sess.run(bias), label='Fitted line')
plt.legend()
plt.show()

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/82973547