Numpy配列におけるNoneの役割

1055 ワード

今日は小さな状況に遭遇しました.記録してください.
>>> import numpy as np
>a=[1,2,3,4]
>>> a=np.array(a)
>>> a
array([1, 2, 3, 4])
>>> b=a[:,None]
>>> b
array([[1],
       [2],
       [3],
       [4]])
>>> c=a[:,None,None]
>>> c
array([[[1]],

       [[2]],

       [[3]],

       [[4]]])

>>> a=np.ones((2,3))
>>> a
array([[1., 1., 1.],
       [1., 1., 1.]])
>>> b=a[:,None,:]
>>> b
array([[[1., 1., 1.]],

       [[1., 1., 1.]]])
>>> b=a[None,:,:]
>>> b
array([[[1., 1., 1.],
        [1., 1., 1.]]])


 pytorch :
>>> import torch as t
>>> a=t.from_numpy(a)
>>> a
tensor([[1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)
>>> b=a[:,None,:]
>>> b
tensor([[[1., 1., 1.]],

        [[1., 1., 1.]]], dtype=torch.float64)
>>>
>>>

配列インデックスにNoneを追加することは、対応する次元に1次元を追加することに相当しますが、この方法はndarrayとtensorタイプでのみ使用され、pythonのlistは適用されません(エラーが発生します)
あなたを助けることができることを望みます.