import tensorflow as tf
import numpy as np
x_data=np.random.rand(100).astype(np.float32)
y_data=x_data*0.1+0.3
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.global_variables_initializer()
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))
这段代码中,有几行代码需要注意,有两行是对Variable的赋值(weights,biases),要注意这两行代码,相当于tensorflow里面流图的两个operation,这两行代码并未对weights和biases进行赋值做,而仅仅是定义了 op的作用,而真正的复制初始化操作实在后面的sess.run(init),进行操作的,sess.run()激活这两个op。