Tensorflow——学习笔记(1)

运行环境Ubuntu 16.04。
运用tensorflow搭建神经网络结构(一层)。实现线性拟合的效果。(十分简单,仔细看一定能懂)
代码:

import numpy as np #科学计算
import tensorflow as tf #导入tensorflow的包

x_data=np.random.rand(100).astype(np.float32) # 随机生成100个个x的值,类型为float32
y_data=x_data+0.3 #对应生成y

Weights=tf.Variable(tf.random_uniform([1],-1.0,1.0)) #初始化神经网络中的 权值变量 ,随机生成,结构是一维的,范围初始值在[-1,1]
biases=tf.Variable(tf.zeros([1])) #偏置初始值为0

y=Weights*x_data+biases #定义输出的y

loss=tf.reduce_mean(tf.square(y-y_data)) #计算loss ,损失,这里使用均方误差
optimizer=tf.train.GradientDescentOptimizer(0.5) # 应用梯度下降进行优化,学习速率为0.5
train=optimizer.minimize(loss) #对loss进行训练

init=tf.initialize_all_variables() #虽然建立了变量,但在神经网络中还没初始化变量,只是做好了结构。

sess=tf.Session() #激活神经网络
sess.run(init) #激活神经网络

for step in range(201): #迭代201次,训练
sess.run(train)
if step%20 == 0:
print(step,sess.run(Weights),sess.ru(biases)) #输出每次的 weight和biases的值。 因为定的的y的公式, weights肯定是越来越接近于1,biases接近于0.3.

Tensorflow——学习笔记(1)_第1张图片

你可能感兴趣的:(机器学习算法,深度学习)