Numpy,Tensor,Variable値が1の次元を削除
1538 ワード
1.Numpy.array 2-d Array(H,W)に1の値を加えた次元が3-d Array(H,W,1): カラー画像はn-d Array中値が1の次元を削除 画像マトリクスを表示、保存する際には、値
2.torch.Tensor2-d Tensor(H,W)に値1の次元を1つ増やして3-d Tensor(1,H,W): カラー画像はn-d Array中値が1の次元を削除
3.torch.Variable
numpy
に(H,W,C)形状(channel-last
)の3-d Array
で記憶され、階調画像は(H,W)形状の2-d Array
で記憶され、その値が1
の次元を1つ増やして3-d Array(H, W, 1)
となることが多い.import numpy as np
in:
a = np.ones((3,3))
print(a.shape)
b1 = np.expand_dims(a,2)
print(b1.shape)
out:
(2, 2)
(2, 2, 1)
note:
b2 = np.expand_dims(a, 0) # (1, 2, 2)
b3 = np.expand_dims(a, 1) # (2, 2, 1)
1
の次元を削除する必要がある場合が多い.in:
a = np.ones((2,2,1))
print(a.shape)
b = np.squeeze(a)
print(b.shape)
out:
(2, 2, 1)
(2, 2)
2.torch.Tensor
Pytorch
に(C,H,W)形状(channel-first
)の3-d tensor
で記憶され、階調画像は(H,W)形状の2-d tensor
で記憶され、その値が1
の次元を1つ増やして3-d tensor (H, W, 1)
となることが多い.in:
import torch as t
a = np.ones((2,2))
a = t.Tensor(a)
print(a.shape)
b = t.unsqueeze(a, 0)
print(b.shape)
out:
torch.Size([2, 2])
torch.Size([1, 2, 2])
in:
import torch as t
a = np.ones((2,2,1))
a = t.Tensor(a)
print(a.shape)
b = t.squeeze(a)
print(b.shape)
out:
torch.Size([2, 2, 1])
torch.Size([2, 2])
3.torch.Variable
Pytorch
ではオートチューニング対応、Tenosr
パッケージ化Variable
.Variable
削除次元で使用される関数はTensor
と一致する.