tensorflow的构建流程

电子说

1.3w人已加入

描述

  tensorflow的构建流程

  tf.Graph() 表示实例化了一个类,一个用于 tensorflow 计算和表示用的数据流图,通俗来讲就是:在代码中添加的操作(画中的结点)和数据(画中的线条)都是画在纸上的“画”,而图就是呈现这些画的纸,你可以利用很多线程生成很多张图,但是默认图就只有一张。

  例如有如下代码:

  import tensorflow as tf

  g = tf.Graph()

  ## add nodes to the graph

  with g.as_default():

  a = tf.constant(1, name=‘a’)

  b = tf.constant(2, name=‘b’)

  c = tf.constant(3, name=‘c’)

  z = 2 * (a - b) + c

  ## launch the graph

  with tf.Session(graph=g) as sess:

  writer = tf.summary.FileWriter(“E://PycharmProjects//Graph”, g)

  print(‘2*(a-b)+c =》 ’, sess.run(z))

  打开cmd命令行,输入tensorboard --logdir=E:\PycharmProjects\Graph

  回车后,打开google浏览器,输入得的的网址即可看到 我们生成的流程图了:

tensorflow

  TensorFlow执行流程

  TensorFlow的基础运算

  在搞神经网络之前,先让我们把TensorFlow的基本运算,也就是加减乘除搞清楚。

  首先,TensorFlow有几个概念需要进行明确:

  1 图(Graph):用来表示计算任务,也就我们要做的一些操作。

  2 会话(Session):建立会话,此时会生成一张空图;在会话中添加节点和边,形成一张图,一个会话可以有多个图,通过执行这些图得到结果。如果把每个图看做一个车床,那会话就是一个车间,里面有若干个车床,用来把数据生产成结果。

  3 Tensor:用来表示数据,是我们的原料。

  4 变量(Variable):用来记录一些数据和状态,是我们的容器。

  5 feed和fetch:可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据。相当于一些铲子,可以操作数据。

  形象的比喻是:把会话看做车间,图看做车床,里面用Tensor做原料,变量做容器,feed和fetch做铲子,把数据加工成我们的结果。

  2.1 创建图和运行图:

  下面我们创建一个图,并在Session中执行它,不用担心看不懂,每句代码都会注释,只有有编程基础,都能OK:

tensorflow

  上面就是用TensorFlow进行了一个最简单的矩阵乘法。

  2.2 创建一个变量,并用for循环对变量进行赋值操作

tensorflow

  可以看到,除了变量创建稍微麻烦一些和必须建立session来运行,其他的操作基本和普通Python一样。

  2.3 通过feed设置placeholder的值

  有的时候,我们会在声明变量的时候不赋值,计算的时候才进行赋值,这个时候feed就派上用场了。

tensorflow


责任编辑:YYX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分