将给定值转换为张量。
代码语言:javascript复制tf.convert_to_tensor(
value,
dtype=None,
name=None,
preferred_dtype=None,
dtype_hint=None
)
该函数将各种类型的Python对象转换为张量对象。它接受张量对象、数字数组、Python列表和Python标量。例如:
代码语言:javascript复制import numpy as np
def my_func(arg):
arg = tf.convert_to_tensor(arg, dtype=tf.float32)
return tf.matmul(arg, arg) arg
# The following calls are equivalent.
value_1 = my_func(tf.constant([[1.0, 2.0], [3.0, 4.0]]))
value_2 = my_func([[1.0, 2.0], [3.0, 4.0]])
value_3 = my_func(np.array([[1.0, 2.0], [3.0, 4.0]], dtype=np.float32))
这个函数在用Python编写新操作时非常有用(如上面示例中的my_func)。所有标准的Python op构造函数都将此函数应用于它们的每个张量值输入,这使得这些ops除了接受张量对象外,还可以接受numpy数组、Python列表和标量。
注意:当Python列表或标量中不存在浮点数和字符串类型时,此函数与默认Numpy行为不同。将抛出一个错误,而不是静静地转换None值。
参数:
value
:类型具有注册张量转换函数的对象。- dtype:返回张量的可选元素类型。如果缺少,则从值的类型推断类型。
- name:创建新张量时使用的可选名称。
- preferred_dtype:返回张量的可选元素类型,当dtype为None时使用。在某些情况下,调用者在转换为张量时可能没有考虑到dtype,因此preferred_dtype可以用作软首选项。如果转换为preferred_dtype是不可能的,则此参数没有效果。
- dtype_hint:与preferred_dtype含义相同,并覆盖它。
返回值:
- 一个基于值的张量。
可能产生的异常:
TypeError
: If no conversion function is registered forvalue
todtype
.RuntimeError
: If a registered conversion function returns an invalid value.ValueError
: If thevalue
is a tensor not of givendtype
in graph mode