===== 基本的な使い方 =====
==== 基本 ====
=== テンソルの生成 ===
import torch
# ランダム値で初期化
x = torch.empty(5, 3)
print(x)
# 1以下のランダム値で初期化
x = torch.rand(5, 3)
print(x)
# 0で初期化
x = torch.zeros(5, 3, dtype=torch.long)
print(x)
# 初期値を与えて生成
x = torch.zeros(5, 3, dtype=torch.long)
print(x)
# 生成済みのtensorから、初期値1で生成
x = x.new_ones(5, 3, dtype=torch.double)
print(x)
# 生成済みのtensorから、平均0分散1のランダム値で生成
x = torch.randn_like(x, dtype=torch.float)
print(x)
●出力結果
tensor([[9.1837e-39, 4.6837e-39, 9.9184e-39],
[9.0000e-39, 1.0561e-38, 1.0653e-38],
[4.1327e-39, 8.9082e-39, 9.8265e-39],
[9.4592e-39, 1.0561e-38, 1.0653e-38],
[1.0469e-38, 9.5510e-39, 1.0378e-38]])
tensor([[0.1555, 0.6025, 0.9613],
[0.6562, 0.7312, 0.1256],
[0.1038, 0.7790, 0.0190],
[0.4717, 0.7569, 0.5940],
[0.2629, 0.7820, 0.5804]])
tensor([[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
tensor([5.5000, 3.0000])
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]], dtype=torch.float64)
tensor([[ 0.1537, -0.6557, -0.2691],
[-0.8783, 0.2801, 0.5254],
[ 0.9600, -1.9478, -1.0159],
[ 0.8738, -0.4998, 0.6234],
[ 1.3175, -1.0214, 0.2186]])
=== テンソルのサイズ取得 ===
x = torch.zeros(5, 3, dtype=torch.long)
x.size()
=== テンソルの演算 ===
通常の四則演算(+, -, *, /)も使用できるが、他の方法もあります。
# 加算
x = torch.rand(5, 3)
y = torch.rand(5, 3)
ret = torch.empty(5, 3)
# その1
torch.add(x, y, out=ret)
# その2
y.add(x)
=== tensor→numpyへの変換 ===
a = torch.ones(5)
b = a.numpy()
=== numpy→tensorへの変換 ===
import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
=== XXXX ===
=== XXXX ===
=== XXXX ===
=== XXXX ===
=== XXXX ===
=== XXXX ===