gpt4 book ai didi

python - 当你添加一个带有 numpy 数组的张量时会发生什么?

转载 作者:太空狗 更新时间:2023-10-30 02:53:31 25 4
gpt4 key购买 nike

tensorflow 1.6

当我注意到以下代码有效时,我感到非常惊讶:

a = tf.constant(5)
b = a + np.array(25)
b.eval() # 30

我原以为这会引发错误。tensorflow 如何处理这种情况?是否将 numpy 数组作为常量张量添加到图形中,以便所有内容仍然可以在 GPU 上运行?或者在 CPU 上计算东西会有一些中断吗?

换句话说,与手动定义适当的 tf.constant 张量相比,以这种方式编写它有什么缺点吗?

最佳答案

默认情况下,当您将 NumPy 数组添加到 TensorFlow 张量时,TensorFlow 会将 NumPy 数组转换为 tf.constant。运算,然后将其添加到张量(这同样适用于任何其他 Python 运算符)。所以在那种情况下,实际上有两个节点被添加到图中,一个用于常量数组,一个用于添加。

这使得库之间的交互更加无缝,但应该注意不要用同一数组的许多副本塞满图形,尤其是在它很大的情况下。如果您要使用 TensorFlow 张量多次操作同一个数组,最好将其转换为 tf.constant。首先,然后根据需要多次使用它。

关于python - 当你添加一个带有 numpy 数组的张量时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com