我需要初始化的张量的形状为(3,3,2)。因此,我需要初始化以下3种形状为(3,2)的矩阵:
第一个矩阵:[[x1,x2],[0,0],[0,0]]
第二矩阵:[[0,0],[x1,x2],[0,0]]
第三矩阵:[[0,0],[0,0],[x1,x2]]
我得到x(numpy array)作为输入。我在弄清楚使用numpy初始化张量的循环时遇到了麻烦。
y= np.zeros((3, 3, 2))
for i in range(3):
for j in range(3):
for k in range(2):
y[i,j,k] = ?
我认为给定x,这是错误的做法。任何帮助表示赞赏!
问题来源:stackoverflow
In [8]: arr = np.zeros((3,3,2))
In [9]: arr[np.arange(3), np.arange(3),:] = [1.2, 2.3]
In [10]: arr
Out[10]:
array([[[1.2, 2.3],
[0. , 0. ],
[0. , 0. ]],
[[0. , 0. ],
[1.2, 2.3],
[0. , 0. ]],
[[0. , 0. ],
[0. , 0. ],
[1.2, 2.3]]])
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。