gpt4 book ai didi

python - tensorflow中的外加减法

转载 作者:太空狗 更新时间:2023-10-30 02:17:55 26 4
gpt4 key购买 nike

是否是一个等效的操作(或一系列操作),其作用类似于 numpy 外部函数?

import numpy as np

a = np.arange(3)
b = np.arange(5)

print np.subtract.outer(a,b)

[[ 0 -1 -2 -3 -4]
[ 1 0 -1 -2 -3]
[ 2 1 0 -1 -2]]

显而易见的候选人 tf.sub似乎只按元素行事。

最佳答案

使用广播:

sess.run(tf.transpose([tf.range(3)]) - tf.range(5))

输出

array([[ 0, -1, -2, -3, -4],
[ 1, 0, -1, -2, -3],
[ 2, 1, 0, -1, -2]], dtype=int32)

更具体地说,给定 (3, 1)(1, 5) 数组,广播在数学上等同于将数组平铺成匹配的 ( 3, 5) 形状和逐点操作

enter image description here

这种平铺是通过循环现有数据在内部实现的,因此不需要额外的内存。当给定形状如 (3, 1)(5) 的不相等等级时,广播将在较小的形状上填充 1 离开了。这意味着像 tf.range(5) 这样的一维列表被视为行向量,并且等同于 [tf.range(5)]

关于python - tensorflow中的外加减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517940/

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