详解Python使用tensorflow入门指南

  

TensorFlow是谷歌公司2015年11月开源的第二代深度学习框架,是第一代框架DistBelief的改进版本。
  

  

TensorFlow支持python和c/c++语言,可以在cpu或gpu上进行运算,支持使用virtualenv或码头工人打包发布。

  

<强>定义变量

  

为了使用tensorflow,首先我们需要导入它

        进口tensorflow tf      

对于符号变量,我们新建一个

        x=tf.placeholder (tf。float32[没有,784])      

这里x并不是一个特定的值,只是一个占位符,后面我们需要用tensorflow进行计算式,我们会把它作为输入

  

在模型中,我们需要重权重和偏见偏置,这里就用变量来处理定义,变量可以在整个计算过程中修改

        w=tf.Variable (tf。0([10]784年))   b=tf.Variable (tf.zeros ([10]))      

在新建变量的同时,我们也初始化了它,然后

        y=tf.nn.softmax (tf。matmul (x, w) + b)      

这样我们就成功的实现了我们的模型
  

  

<>强训练

  

我们用叉作为我们的成本函数
  

  

H_ {y '} (y)=- \ sum_i y ' _i \ log (y_i)
  

  

y就是我们预测的概率分布,y '是真实的概率分布

  

为了实现交叉熵,我们需要一个新的占位符来作为正确答案的输入

        y_=tf.placeholder (tf。float32,[没有10])   cross_entropy=- tf。reducen_sum (y_ * tf.log (y)      

通过梯度下降来实现优化模型

        train_step=tf.train.GradientDescentOptimizer (learning_rate) .minimize (cross_entropy)      

我们使用这个模型之前,最后一件我们需要做的事是

        init=tf.initialize_all_variables ()   与tf.Session税():   sess.run (init)      

现在,我能可以训练1000次这个模型了,& # 9786;& # 65039;

        因为我在xrange (1000):   batch_xs batch_ys=mnist.train.next_batch (100)   sess.run (train_step feed_dict={x: batch_xs y_: batch_ys})      

使用随机数据的小批就称为随机训练

  

<强>模型评分

  

首先,我们对比真实的y_和模型所得y之间正确的个数有多少

        correct_prediction=tf.equal (tf。argmax (y, 1),特遣部队。agrmax (y_ (1)      

这个会返回一个布尔列表,比如(真的,假的,真的,真的)

        精度=tf.reduce_mean (tf。铸造(correc_prediction tf.float32))   打印(sess.run(准确性、feed_dict={x: mnist.test。图片,y_: minst.test.labels}))      

最后就通过以上计算得到准确率

  

<强>开始使用

  

TensorFlow并不是一个纯粹的神经网络框架,而是使用数据流图进行数值分析的框架。

  

TensorFlow使用有向图(图)表示一个计算任务。图的节点称为运维(操作)表示对数据的处理,图的边流描述数据的流向。

  

该框架计算过程就是处理张量组成的流。这也是TensorFlow名称的来源。

  

TensorFlow使用张量表示数据。张意为张量即高维数组,在python中使用numpy.ndarray表示。

  

TensorFlow使用会话执行图,使用变量维护状态.tf。常数是只能输出的运维,常用作数据源。

  

下面我们构建一个只有两个常数做输入,然后进行矩阵乘的简单图:

        从tensorflow导入会话,设备,常数,matmul      “‘构建一个只有两个常数做输入,然后进行矩阵乘的简单图:“      #如果不使使用会话()语用句,需要手动执行session.close ()。   #与设备设备指定了执行计算的设备:   #“/cpu: 0”:机器的cpu。   #“/gpu: 0”:机器的第一个gpu,如果有的话。   #“/gpu: 1”:机器的第二个gpu,以此类推。      与会话()会话:#创建执行图的上下文   与设备(/cpu: 0): #指定运算设备   mat1=常数([[3 3]])#创建源节点   mat2=常数([[2],[2]])   产品=matmul (mat1 mat2) #指定节点的前置节点,创建图   结果=session.run(产品)#执行计算   打印(结果)      之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
  

详解Python使用tensorflow入门指南