繁体   English   中英

如何在python3中初始化某种形状的张量

[英]How to initialize tensor of a certain shape in python3

我需要初始化的张量的形状为 (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,我会以错误的方式解决这个问题。 任何帮助表示赞赏!

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]]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM