===== 基本的な使い方 ===== ==== 基本 ==== === テンソルの生成 === 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 ===