【发布时间】:2017-11-12 19:42:33
【问题描述】:
我正在尝试执行将二维矩阵的切片乘以常数的操作。
例如,如果我想将除前 2 列之外的所有内容相乘
要在 numpy 中执行此操作,可以这样做:
a = np.array([[0,7,4],
[1,6,4],
[0,2,4],
[4,2,7]])
a[:, 2:] = 2.0*a[:, 2:]
>> a
>> array([[ 0, 7, 8],
[ 1, 6, 8],
[ 0, 2, 8],
[ 4, 2, 14]])
但是,至少从我搜索到的内容来看,tensorflow 目前还没有直接的方法来做到这一点。
我当前的解决方案是创建 a 最初作为两个单独的张量 a1 和 a2,将第二个张量乘以 2.0,然后将它们跨轴 = 1 连接。操作很简单,这是可能的。但是我有两个问题
- 这是最有效的方法吗
- 是否有更好(通用/高效)的方法来执行此操作,以使功能更接近 numpy 的切片魔法(也许 https://www.tensorflow.org/api_docs/python/tf/scatter_
【问题讨论】:
标签: numpy tensorflow slice