白癜风治疗的医院 http://www.xxzywj.com/m/TensorFlow流程图
TensorFlow流程图
通过以上的分享,我们了解到了TensorFlow的基本基础知识,本期主要介绍一下TensorFlow的结构,Tensorflow是非常重视结构的,只有建立好了神经网络的结构,才能放置一些数据,进而运行这个结构.
创建TensorFlow结构
一:创建初始化数据
我们需要importTensorFlow与numpy两个模块,使用numpy设置我们的初始数据(我们定义的实际数据)
importtensorflowastfimportnumpyasnp#设置初始数据x=np.random.rand().astype(np.float32)y=x*0.2+0.3#线性一元一次方程
二:创建TensorFlow数据结构(构建图)
我们上几期讨论过TensorFlow的常量tf.constant来表示,在TensorFlow中,变量的表示为tf.Variable,我们使用tf.Variable来描述y_train(TensorFlow通过训练学习到的一元一次方程)的参数
我们定义2个变量:Weights与biases
那么TensorFlow学习到的一元一次方程为:y_train=Weights*x+biases
TensorFlow通过学习使Weights尽量接近0.2,biases尽量接近0.3,y_train尽量接近y
#创建TensorFlow数据结构Weights=tf.Variable(tf.random_uniform([1],-1.0,1.0))#权重biases=tf.Variable(tf.zeros([1]))#偏差y_train=x*Weights+biases
三:设置偏差
TensorFlow训练的目的就是把得到的Weights尽量接近0.2,biases尽量接近0.3,就是y_train接近y,我们定义一个误差loss来表示,TensorFlow的目的就是把loss尽量缩小
loss=tf.reduce_mean(tf.square(y_train-y))#tf.square是求平方和,tf.reduce_mean是#归约计算(Reduction)的求tensor中平均值#关于TensorFlow的函数我们后期介绍
四:设置优化器
TensorFlowoptimizer(优化器)主要用来训练神经网络(利用不同的算法来优化我们的神经网络)
optimizer=tf.train.GradientDescentOptimizer(0.5)#最基本的优化器
优化函数
五:设置神经训练网络
之所以说是设置是因为此时整个神经网络还没有运行,我们需要启动图(启动神经网络)
train=optimizer.minimize(loss)#训练的目的是最小化loss
六:启动神经网络
在启动神经网络之前我们需要进行TensorFlow变量的初始化(TensorFlow中,变量必须进过初始化,否则定义的变量是不直接进行运算的),然后使用我们前期学习的到的sess=tf.Session()的run函数来运行我们的神经网络
init=tf.global_variables_initializer()#初始化TensorFlow变量sess.run(init)#TensorFlow中,所有的运行必须使用run函数sess.run(train)#启动神经网络
以上就是整个TensorFlow的结构设计,为了看到TensorFlow学习的效果,我们每隔10步打印一下TensorFlow训练的结果
withtf.Session()assess:sess.run(init)forstepinrange()
训练stepsess.run(train)ifstep%10==0:print(step,sess.run(Weights),sess.run(biases))
TensorFlow结果
从以上的数据,我们可以看出,TensorFlow0步随机数据是:
Weights=-0.36
biases=0.77
经过反复的train,TensorFlow把Weights,biases训练的已经很接近我们定义的值
下期预告
OK,以上就是本期分享的内容,下期我们介绍一下我们先前讲述的TensorFlow的激励函数的应用