gpt4 book ai didi

python - 更改 theano 矩阵中元素值的子集

转载 作者:行者123 更新时间:2023-11-28 22:47:08 24 4
gpt4 key购买 nike

我想动态创建一个ma​​sk矩阵,例如,在numpy

mask = numpy.zeros((5,5))
row = numpy.arange(5)
col = [0, 2, 3, 0, 1]
mask[row, col] += 1 # that is setting some values to `1`

这是我在 theano 中尝试的,

mask = tensor.zeros((5,5))
row = tensor.ivector('row')
col = tensor.ivector('col')
mask = tensor.set_subtensor(mask[row, col], 1)

上面的 theano 代码失败并显示错误消息:不支持。还有其他方法吗?

最佳答案

这适用于 0.6.0。我使用了您的代码并从中创建了一个函数来检查输出。尝试复制并粘贴此内容:

import theano
from theano import tensor

mask = tensor.zeros((5,5))
row = tensor.ivector('row')
col = tensor.ivector('col')
mask = tensor.set_subtensor(mask[row, col], 1)

f = theano.function([row, col], mask)

print f(np.array([0, 1, 2]).astype(np.int32), np.array([1, 2, 3]).astype(np.int32))

这产生

array([[ 0.,  1.,  0.,  0.,  0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]])

关于python - 更改 theano 矩阵中元素值的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26669099/

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