【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构
仅有一个神经元的神经网络:
用以预测线性的y=0.3x+0.1 [底部有源码]
输出结果:
最终结果Weights=0.299999... =0.3 biases=0.10000....=0.1
故预测结果:这些点按照线性方程为y=0.3x+0.1的形式分布。
注释版:
源代码:
import tensorflow as tf
import numpy as np
x_data = np.random.rand(100).astype(np.float32)
y_data = 0.3*x_data + 0.1
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights * x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step,sess.run(Weights),sess.run(biases))
纸上得来终觉浅,绝知此事要躬行。希望我以后依然可以坚守代码。
本人萌新,不对的地方欢迎指正!