利用tensorflow 搭建一个神经网络

import tensorflow as tf
import numpy as np

#我们用 tf.Variable 来创建描述 y 的参数.
# 我们可以把 y_data = x_data*0.1 + 0.3 想象成 y=Weights * x + biases,
#  然后神经网络也就是学着把 Weights 变成 0.1, biases 变成 0.3.
x_data = np.float32(np.random.rand(100))
y_data = x_data*0.1+0.3


#搭建模型
shape = tf.Variable([1])
Weights = tf.Variable(tf.random_uniform(shape, -1.0, 1.0),validate_shape=False)
biase = tf.Variable(tf.zeros([1]))
y = Weights*x_data+biase

#计算误差
loss = tf.reduce_mean(tf.square(y-y_data))
#优化器
#反向传递误差的工作就教给optimizer了,
# 我们使用的误差传递方法是梯度下降法: Gradient Descent 让后我们使用 optimizer 来进行参数的更新.
optimizier = tf.train.GradientDescentOptimizer(0.5)
train = optimizier.minimize(loss)
#初始化
init = tf.global_variables_initializer()


#激活
sess = tf.Session()#创建一个会话。
sess.run(init)#来执行操作

#训练
for step in range(200):
    sess.run(train)
    if step % 20 == 0:
        print("步数:{} 权重:{} 偏向:{}".format(step, sess.run(Weights), sess.run(biase)))

猜你喜欢

转载自blog.csdn.net/qq_38900441/article/details/80215698