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


Python tf.convert_to_tensor用法及代码示例


将给定的 value 转换为 Tensor

用法

tf.convert_to_tensor(
    value, dtype=None, dtype_hint=None, name=None
)

参数

  • value 其类型具有已注册的Tensor 转换函数的对象。
  • dtype 返回张量的可选元素类型。如果缺少,则从 value 的类型推断类型。
  • dtype_hint 返回张量的可选元素类型,当 dtype 为 None 时使用。在某些情况下,调用者在转换为张量时可能没有考虑 dtype,因此 dtype_hint 可以用作软首选项。如果无法转换为dtype_hint,则此参数无效。
  • name 创建新 Tensor 时使用的可选名称。

返回

  • Tensor 基于 value

抛出

  • TypeError 如果没有为 value 注册到 dtype 的转换函数。
  • RuntimeError 如果注册的转换函数返回无效值。
  • ValueError 如果 value 不是图形模式下给定 dtype 的张量。

此函数将各种类型的 Python 对象转换为 Tensor 对象。它接受Tensor 对象、numpy 数组、Python 列表和 Python 标量。

例如:

import numpy as np
def my_func(arg):
  arg = tf.convert_to_tensor(arg, dtype=tf.float32)
  return arg
# The following calls are equivalent.

value_1 = my_func(tf.constant([[1.0, 2.0], [3.0, 4.0]]))
print(value_1)
tf.Tensor(
  [[1. 2.]
   [3. 4.]], shape=(2, 2), dtype=float32)
value_2 = my_func([[1.0, 2.0], [3.0, 4.0]])
print(value_2)
tf.Tensor(
  [[1. 2.]
   [3. 4.]], shape=(2, 2), dtype=float32)
value_3 = my_func(np.array([[1.0, 2.0], [3.0, 4.0]], dtype=np.float32))
print(value_3)
tf.Tensor(
  [[1. 2.]
   [3. 4.]], shape=(2, 2), dtype=float32)

在 Python 中编写新操作时,此函数很有用(例如上面示例中的 my_func)。所有标准 Python 操作构造函数都将此函数应用于它们的每个 Tensor-valued 输入,这允许这些操作除了接受 Tensor 对象之外还接受 numpy 数组、Python 列表和标量。

注意:当 Python 列表或标量中存在 None 时,此函数不同于 floatstring 类型的默认 Numpy 行为。而不是静默转换 None 值,而是会引发错误。

相关用法


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