[pytorch] 1. tensor


このパブリケーションはpytorch tutorialに基づいています.
pytorchとは?
pythonベースの科学コンピューティングパッケージ
  • numpyの代替プラットフォーム
  • 深さ学習研究プラットフォーム
  • は最大の柔軟性と速度を提供する
    what is tensor?
    テンソルはnumpyの規格に類似しており,GPUを用いて演算加速を行うこともできる.
    テンソルが1つの値しか存在しない場合.item()を使用してpythonスカラー値を取得できます.テンソルに1つの値ではなく複数の値がある場合は使用できません.
    x = torch.randn(1)
    print(x)
    print(x.item())
    torch.sizeはテンソルのマトリクスサイズを返します.tupleタイプで、すべてのtuple演算をサポートします.
    x = x.new_ones(5, 3, dtype=torch.double)
    print(x)
    print(x.size())
    # out : torch.Size([5, 3])
    in-place方式でテンソル値を変更する演算に「」を付けます.
    x.copy_(y)
    y.add_(x)
    サイズの変更
    テンソルの大きさ(サイズ)や形(形)を変えたいならTORCH.viewを使用します.
    x = torch.randn(4, 4)
    y = x.view(16)
    z = x.view(-1, 8)  # -1은 다른 차원에서 유추합니다.
    print(x.size(), y.size(), z.size())
    # out : torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])
    テンソル-numpy変換(Bridge)
    a = torch.ones(5)
    b = a.numpy()
    上記のコードを使用してテンソルをnumpy配列に変換できます.
    numpy-torchテンソル変換
    a = np.ones(5)
    b = torch.from_numpy(a)
    上記のコードによりnumpy配列をtorchテンソルに変換することができる.
    cuda tensors
    .toメソッドを使用して、テンソルを任意のデバイスに移動できます.
    a = torch.ones(5)
    a = a.to(device)
    ソース
  • https://tutorials.pytorch.kr/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py