【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构

仅有一个神经元的神经网络:

用以预测线性的y=0.3x+0.1  [底部有源码]

【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构

输出结果:

【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构

最终结果Weights=0.299999... =0.3    biases=0.10000....=0.1

故预测结果:这些点按照线性方程为y=0.3x+0.1的形式分布。

注释版:

【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构

【tensorflow入门】3、最简单的神经网络+详细注释 了解神经网络的结构

源代码:

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))

纸上得来终觉浅,绝知此事要躬行。希望我以后依然可以坚守代码。

本人萌新,不对的地方欢迎指正!