[PYTHON] Mémo PyTorch (gestion des dimensions)

introduction

Le Seigneur est un débutant en apprentissage profond. Si vous faites une erreur, merci de bien vouloir me le faire savoir.

Définition du tenseur

>>> import torch
>>> tensor = torch.randn(2, 3, 3)
tensor([[[ 1.5399, -0.8363,  0.3968],
         [ 0.0699,  1.1410,  0.7154],
         [ 0.4368,  0.9433, -0.8077]],

        [[ 1.1562, -1.3698,  0.6734],
         [-0.6762,  0.1539, -0.1286],
         [-0.4542,  0.3858, -1.6197]]])

Manipuler la dimension du tenseur par dimension

Trouvez la somme de la nième dimension (compressez la dimension)

>>> sum_tensor = tensor.sum(2, keepdim=False)
tensor([[ 1.1004,  1.9262,  0.5725],
        [ 0.4599, -0.6509, -1.6881]])

torch.Size([2, 3])

Trouvez la somme dans la nième dimension (ne compressez pas la dimension)

>>> sum_tensor = tensor.sum(2, keepdim=True)
tensor([[[ 1.1004],
         [ 1.9262],
         [ 0.5725]],

        [[ 0.4599],
         [-0.6509],
         [-1.6881]]])

torch.Size([2, 3, 1])

Élargissez la dimension

Lorsque vous utilisez le GPU, vous pouvez accélérer en utilisant les éléments suivants

>>> tensor.sum(2, keepdim=True).expand([3, 2, 3, 1])

tensor([[[[ 1.1004],
          [ 1.9262],
          [ 0.5725]],

         [[ 0.4599],
          [-0.6509],
          [-1.6881]]],


        [[[ 1.1004],
          [ 1.9262],
          [ 0.5725]],

         [[ 0.4599],
          [-0.6509],
          [-1.6881]]],


        [[[ 1.1004],
          [ 1.9262],
          [ 0.5725]],

         [[ 0.4599],
          [-0.6509],
          [-1.6881]]]])

Résumé

Je pense que je l'ajouterai encore si le Seigneur est en difficulté

Recommended Posts

Mémo PyTorch (gestion des dimensions)
[Pytorch] Mémo sur Dataset / DataLoader
mémo d'introduction tensorflow-gpu
Mémo d'introduction H2O.ai
note d'introduction à la poésie (ubuntu18.04)
Mémo PyTorch (gestion des dimensions)
Plusieurs versions et notes de gestion de bibliothèque dans pythonbrew