Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我不能理解张量流系统_Python_Numpy_Tensorflow - Fatal编程技术网

Python 我不能理解张量流系统

Python 我不能理解张量流系统,python,numpy,tensorflow,Python,Numpy,Tensorflow,我不能理解Tensorflow系统。 首先,我写 #coding:UTF-8 from __future__ import absolute_import from __future__ import division from __future__ import print_function import tensorflow as tf const1 = tf.constant(2) const2 = tf.constant(3) add_op = tf.add(const1,cons

我不能理解Tensorflow系统。 首先,我写

#coding:UTF-8

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf

const1 = tf.constant(2)
const2 = tf.constant(3)
add_op = tf.add(const1,const2)

with tf.Session() as sess:
    result = sess.run(add_op)
    print(result)
然后打印出5张。 第二,我写了

#coding:UTF-8

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf

const1 = tf.constant(2)
const2 = tf.constant(3)
add_op = tf.add(const1,const2)
print(add_op)
然后打印出张量(“Add:0”,shape=(),dtype=int32)。 我无法理解这个系统。 我使用Python和其他语言,所以我认为
tf.add()
方法是add方法。但是,在Tensorflow的情况下,它似乎有所不同。 为什么是这部分

with tf.Session() as sess:
    result = sess.run(add_op)
    print(result)
必要吗?
这一部分有哪些功能?

我建议阅读TensorFlow的官方指南,了解图书馆的核心概念,例如这里似乎存在的问题:

每个TensorFlow程序由两部分组成:

  • 构建计算图
  • 运行计算图
  • 现在,什么是“计算图”?在TensorFlow中,指定对输入执行的一系列操作。这一系列操作就是“计算图”。为了理解这一点,让我们看一些例子:

    • 简单的补充:让我们看看您的示例,您的代码是

      const1 = tf.constant(2)
      const2 = tf.constant(3)
      add_op = tf.add(const1,const2)
      
      这将在图形中创建两个常量节点,并创建第二个节点将它们相加。从图形上看,这看起来像:

    • 为了使它更复杂一点,假设您有一个输入
      x
      ,并想向其中添加一个常量
      3
      。那么您的代码将是:

      const1 = tf.constant(2)
      x = tf.placeholder(tf.float32)
      add_op = tf.add(const1,x)
      
      你的图表是

    在这两个例子中,这都是程序的第一部分。到目前为止,我们只定义了计算图的外观,即我们有什么输入,什么输出,以及所有需要的计算

    但是:到目前为止还没有进行任何计算在第二个示例中,您甚至不知道您的输入
    x
    是什么-只是它将是一个
    float32
    。 如果你有一个GPU,你会注意到TensorFlow甚至还没有接触到GPU。即使你有一个拥有数百万训练图像的巨大神经网络,这一步也是以毫秒为单位的,因为不需要做“真正的”工作

    现在是第二部分:运行上面定义的图。这就是工作发生的地方! 我们通过创建
    tf.Session
    来启动TensorFlow,然后通过调用
    sess.run()
    可以运行任何东西

    在第二个示例中,我们现在必须告诉TensorFlow我们的值
    x

    with tf.Session() as sess:
        result = sess.run(add_op, {x: 5.0})
        print(result)
    

    tl;dr:每个TensorFlow程序都有两个部分:1。构建计算图,以及2。运行此图表。使用
    tf.add
    仅定义图形,但尚未执行任何添加。要运行此图,请使用与第一段代码相同的
    sess.run()

    thx!!你的答案对我来说很好,可以理解得很好。我有一个问题,我可以调用tf。会话方法是激活函数吗?我读了Tensorflow教程,但我不能很好地理解这部分。很好的解释,特别是对于初学者。
    with tf.Session() as sess:
        result = sess.run(add_op, {x: 5.0})
        print(result)