すべての要素が0のTensor配列生成するにはtorch.zeros、torch.zeros_likeを用い、すべての要素が1のTensor配列生成するにはtorch.ones、torch.ones_likeを用いる。
- torch.zeros – PyTorch v2.2 Docs
- torch.zeros_like- PyTorch v2.2 Docs
- torch.ones- PyTorch v2.2 Docs
- torch.ones_like- PyTorch v2.2 Docs
torch.zeros、torch.onesの使い方
torch.zeros
torch.zerosの引数sizeに出力されるTensor配列の形状を指定する。指定した形状で、すべての要素が0のTensor配列がfloat32で生成されます。
import torch
a = torch.zeros(5)
print(a)
# tensor([0., 0., 0., 0., 0.])
print(a.shape)
# torch.Size([5])
print(a.dtype)
# torch.float32
b = torch.zeros(2, 3)
print(b)
# tensor([[0., 0., 0.],
# [0., 0., 0.]])
print(b.shape)
# torch.Size([2, 3])
c = torch.zeros(3, 3, 2)
print(c.shape)
# torch.Size([3, 3, 2])
引数dtypeを指定すれば、任意のdataタイプで生成される。
d = torch.zeros(2, dtype=torch.int8)
print(d.dtype)
# torch.int8
torch.ones
torch.zerosと同様で、toch.onesの引数sizeに出力されるTensor配列の形状を指定する。指定した形状で、すべての要素が1のTensor配列がfloat32で生成されます。
a = torch.ones(5)
print(a)
# tensor([1., 1., 1., 1., 1.])
print(a.shape)
# torch.Size([5])
print(a.dtype)
# torch.float32
b = torch.ones(2, 3)
print(b)
# tensor([[1., 1., 1.],
# [1., 1., 1.]])
print(b.shape)
# torch.Size([2, 3])
c = torch.ones(3, 3, 2)
print(c.shape)
# torch.Size([3, 3, 2])
torch.zeros_like、torch.ones_likeの使い方
torch.zeros_like
torch.zeros_likeは、引数inputに指定されたTensor配列の形状と同じ形状で、すべての要素が0のTensor配列がfloat32で生成されます。
a = torch.rand(2, 3)
print(a)
# tensor([[0.3804, 0.1059, 0.7642],
# [0.9733, 0.8222, 0.0327]])
print(a.shape)
# torch.Size([2, 3])
b = torch.zeros_like(a)
print(b)
# tensor([[0., 0., 0.],
# [0., 0., 0.]])
print(b.shape)
# torch.Size([2, 3])
print(b.dtype)
# torch.float32
torch.ones_like
torch.ones_likeは、引数inputに指定されたTensor配列の形状と同じ形状で、すべての要素が1のTensor配列がfloat32で生成されます。
a = torch.rand(2, 3)
print(a)
# tensor([[0.3185, 0.7047, 0.8822],
# [0.9370, 0.9441, 0.0713]])
print(a.shape)
# torch.Size([2, 3])
b = torch.ones_like(a)
print(b)
# tensor([[1., 1., 1.],
# [1., 1., .]])
print(b.shape)
# torch.Size([2, 3])
print(b.dtype)
# torch.float32
コメント