开发者社区> 问答> 正文

如何在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,这是错误的做法。任何帮助表示赞赏!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 18:59:43 399 0
1 条回答
写回答
取消 提交回答
  • 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

    2020-03-24 18:59:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载