Tensorflow2.0实现y=0.3x+0.1
莫烦大神在python学习系列教程中讲授的Tensorflow学习用的是tensorflow1.0版本,tensorflow2.0中部分代码有所升级,现将2.0代码实现粘出来,供萌新参考,欢迎大家指正。
import tensorflow._api.v2.compat.v1 as tf
import numpy as np #numpy是科学计算的模块
tf.disable_v2_behavior()
# create data
x_data = np.random.rand(100).astype(np.float32) #生成100个随机数列
y_data = x_data*0.1 + 0.3#w=0.1,b+0.3
#### create tensorflow structure start ###
Weights = tf.Variable(tf.random_uniform((1,), -1.0, 1.0)) #一维数列、随机生成数列的范围是-1~1
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) #0.5是学习率
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()#初始化
#### create tensorflow structure end ###
# 创建session,执行命令
sess = tf.Session()
sess.run(init) #session像一个指针,run的时候会激活init
for step in range(201): #训练201步
sess.run(train)
if step % 20 == 0: #每隔20步打印一下训练结果
print(step, sess.run(Weights), sess.run(biases), sess.run(loss))