PyTorchで使うものまとめ[随時更新]
ここでは、PyTorchを使ったネットワーク以外の話をします。
PyTorch独自の”torch型”の変数とnumpyの”narray型”の相互変換などネットワーク構築とは直接関係ないけどよく使うものをまとめていきます。
デバイス(GPU)の確認
GPU(cuda)が使える状態か調べる時に使います。
#cudaが使える場合はTrueを返す torch.cuda.is_available() #デバイスの指定に使える device='cuda' if torch.cuda.is_available() else 'cpu'
tensor型とnumpy arrayの変換
tensorからnumpy
x = x.to('cpu').detach().numpy().copy() #もしくは = x.to('cpu').detach().clone().numpy()
numpyからtensor
x = torch.from_numpy(X)
tensor型の配列の生成
リストから生成
リスト、タプルから生成できます。
Numpy ndarrayにも対応していますが、”ndarray”から”tensor”に変換する”from_numpy”メソッドもあります。
x = torch.tensor([[1,2,3], [4,5,6]], dtype=torch.float32, #device= )
#int型の場合 x = torch.IntTensor(10, 10, 10) #float型の場合 x = torch.FloatTensor(10, 10, 10)
tensor型の結合
torch.cat((x, y), axis=0)