当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.Session.run用法及代码示例


用法

run(
    fetches, feed_dict=None, options=None, run_metadata=None
)

参数

  • fetches 单个图形元素、图形元素列表或字典,其值为图形元素或图形元素列表(如上所述)。
  • feed_dict 将图形元素映射到值的字典(如上所述)。
  • options A [RunOptions] 协议缓冲区
  • run_metadata A [RunMetadata] 协议缓冲区

返回

  • 如果 fetches 是单个图形元素,则为单个值;如果 fetches 是列表,则为值列表;如果是字典,则为具有与 fetches 相同键的字典(如上所述)。在调用内部评估 fetches 操作的顺序未定义。

抛出

  • RuntimeError 如果此Session 处于无效状态(例如已关闭)。
  • TypeError 如果 fetchesfeed_dict 键的类型不合适。
  • ValueError 如果 fetchesfeed_dict key 无效或引用不存在的 Tensor

fetches 中运行操作并评估张量。

此方法运行 TensorFlow 计算的 "step",通过运行必要的图形片段来执行每个 Operation 并评估 fetches 中的每个 Tensor,用 feed_dict 中的值替换相应的输入值。

fetches 参数可以是单个图形元素,也可以是任意嵌套的列表、元组、命名元组、字典或在其叶子中包含图形元素的 OrderedDict。图形元素可以是以下类型之一:

  • 一个tf.Operation。相应的获取值将是 None
  • 一个tf.Tensor。相应的获取值将是一个包含该张量值的 numpy ndarray。
  • 一个tf.sparse.SparseTensor。相应的获取值将是一个tf.compat.v1.SparseTensorValue,其中包含该稀疏张量的值。
  • get_tensor_handle 操作。相应的获取值将是一个包含该张量句柄的 numpy ndarray。
  • string 是图中张量或操作的名称。

run() 返回的值与 fetches 参数具有相同的形状,其中叶子被 TensorFlow 返回的相应值替换。

例子:

a = tf.constant([10, 20])
   b = tf.constant([1.0, 2.0])
   # 'fetches' can be a singleton
   v = session.run(a)
   # v is the numpy array [10, 20]
   # 'fetches' can be a list.
   v = session.run([a, b])
   # v is a Python list with 2 numpy arrays:the 1-D array [10, 20] and the
   # 1-D array [1.0, 2.0]
   # 'fetches' can be arbitrary lists, tuples, namedtuple, dicts:
   MyData = collections.namedtuple('MyData', ['a', 'b'])
   v = session.run({'k1':MyData(a, b), 'k2':[b, a]})
   # v is a dict with
   # v['k1'] is a MyData namedtuple with 'a' (the numpy array [10, 20]) and
   # 'b' (the numpy array [1.0, 2.0])
   # v['k2'] is a list with the numpy array [1.0, 2.0] and the numpy array
   # [10, 20].

可选的 feed_dict 参数允许调用者覆盖图中张量的值。 feed_dict 中的每个键都可以是以下类型之一:

  • 如果键是 tf.Tensor ,则值可能是 Python 标量、字符串、列表或 numpy ndarray,可以转换为与该张量相同的 dtype。此外,如果键是 tf.compat.v1.placeholder ,则将检查值的形状是否与占位符兼容。
  • 如果键是 tf.sparse.SparseTensor ,则值应该是 tf.compat.v1.SparseTensorValue
  • 如果键是 TensorSparseTensor 的嵌套元组,则值应该是嵌套元组,其结构与上面对应的值映射的结构相同。

feed_dict 中的每个值都必须可转换为对应键的 dtype 的 numpy 数组。

可选的 options 参数需要一个 [ RunOptions ] 原型。这些选项允许控制此特定步骤的行为(例如打开跟踪)。

可选的 run_metadata 参数需要一个 [ RunMetadata ] 原型。在适当的时候,该步骤的非张量输出将在那里收集。例如,当用户在 options 中打开跟踪时,已分析的信息将被收集到此参数中并传回。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.Session.run。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。