基本的な使い方

基本

テンソルの生成

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