tensorflow 简单的结构

2018-08-21  本文已影响0人  朱宏飞

目的:根据预测值和实际值的误差,训练。不断地修正参数。

程序如下:

#导入

import tensorflow as tf

import numpy as np

#数据

X_data =np.random.rand(100).astype(np.float32)

 #    在tensorflow大部分数据形式是float32,生成100个随机数

Y_data=X_data*0.1+0.3

#本次实验的目的:经过训练,使得Weights尽可能接近0.1,biases接近0.3。

##创造tensorflow的结构开始###

Weights=tf.Variable(tf.random_uniform[1],-1.0,1.0)

#定义变量用到Variable,结构为一维,范围是-1到1

biases=tf.Variable(tf.zeros[1])

#初始值定义为0

Y=Weights*X_data+biases

Loss=tf.reduce_mean(tf.square(Y-Y_data))

 #计算预测Y和实际Y的差别

Optimizer=tf.train.GradientDescentOptimizer(0.5)

#优化器梯度下降法,学习效率0.5

train =optimizer.minimize(loss)

#训练使得loss误差不断变小

init=tf.initialize_all_varibles() #初始化变量,

##创造tensorflow的结构结束###

Sess=tf.Session()

Sess.run(init)  #激活,很重要!!!

for step in range(201)

   sess.run(train)

if step%20==20:

   print(step,sess.run(Weights),sess.run(biases))

    #每隔20步打印出来

结果图:

通过训练使得参数不断地优化。对于这种简单的数据利用梯度下降法足够用了。还有其他的优化器,下次写到CNN的时候再说。

上一篇下一篇

猜你喜欢

热点阅读