[PYTHON] Introduction à PyTorch (1) Différenciation automatique

Premiers pas avec Pytorch

Depuis que Chainer a annoncé la transition vers PyTorch, je pense que le flux de TensorFlow vers PyTorch sera également renforcé au Japon, je vais donc faire le tutoriel.

Installation

Voir Officiel.

Didacticiel

Essayez selon Officiel.

1. Qu'est-ce que PyTorch?

Le style d'écriture est assez semblable à Numpy.

$ x = torch.empty(5, 3)
$ print(x)
tensor([[2.4835e+27, 2.5428e+30, 1.0877e-19],
        [1.5163e+23, 2.2012e+12, 3.7899e+22],
        [5.2480e+05, 1.0175e+31, 9.7056e+24],
        [1.6283e+32, 3.7913e+22, 3.9653e+28],
        [1.0876e-19, 6.2027e+26, 2.3685e+21]])

L'ajout de _ (trait de soulignement) à la méthode est destructif.

$ x = torch.tensor([5.5, 3])
$ y = torch.tensor([2.5, 5])
$ y.add_(x)
$ print(y)
tensor([8., 8.])

Très facile à échanger des tenseurs entre CPU et GPU.

if torch.cuda.is_available():
    device = torch.device("cuda")          
    y = torch.ones_like(x, device=device)  
    x = x.to(device)                       
    z = x + y
    print(z)
    print(z.to("cpu", torch.double))       # ``.to`` can also change dtype together!

Recommended Posts

Introduction à PyTorch (1) Différenciation automatique
Introduction à Lightning Pytorch
Introduction à la définition de la fonction Thano et à la différenciation automatique
[Tutoriel PyTorch ②] Autograd: différenciation automatique
[Détails (?)] Introduction au pytorch ~ CNN de CIFAR10 ~
Introduction à Scrapy (1)
Introduction à Scrapy (3)
Premiers pas avec Supervisor
Introduction à Tkinter 1: Introduction
pytorch super introduction
[PyTorch] Introduction à la classification de documents à l'aide de BERT
Introduction à PyQt
Introduction à Scrapy (2)
[Linux] Introduction à Linux
[Introduction à Pytorch] J'ai joué avec sinGAN ♬
Introduction à Scrapy (4)
Introduction à discord.py (2)
[Super introduction à l'apprentissage automatique] Découvrez les didacticiels Pytorch
[PyTorch] Introduction à la classification des documents japonais à l'aide de BERT
[Super introduction à l'apprentissage automatique] Découvrez les didacticiels Pytorch
Premiers pas avec le Web Scraping
Introduction aux baies non paramétriques
Introduction à EV3 / MicroPython
Introduction au langage Python
Introduction à la reconnaissance d'image TensorFlow
Introduction à OpenCV (python) - (2)
[Pytorch] numpy à tenseur
Introduction à PyQt4 Partie 1
Introduction à l'injection de dépendances
Introduction à Private Chainer
Introduction à PyTorch (environnement virtuel)
PyTorch Super Introduction Principes de base de PyTorch
Introduction à l'apprentissage automatique
[Introduction à Pytorch] J'ai essayé de catégoriser Cifar10 avec VGG16 ♬
AOJ Introduction à la programmation Sujet 1, Sujet 2, Sujet 3, Sujet 4
Introduction au module de papier électronique
Introduction à l'algorithme de recherche de dictionnaire
Introduction à la méthode Monte Carlo
opencv-python Introduction au traitement d'image
Introduction à Python Django (2) Win
Introduction à l'écriture de Cython [Notes]
Introduction à Private TensorFlow
Une introduction à l'apprentissage automatique
[Introduction à cx_Oracle] Présentation de cx_Oracle
Une super introduction à Linux
AOJ Introduction à la programmation Sujet n ° 7, Sujet n ° 8
Introduction à la détection des anomalies 1 principes de base
Introduction à RDB avec sqlalchemy Ⅰ
[Introduction au système] Retracement de Fibonacci ♬
Introduction à l'optimisation non linéaire (I)
Introduction à la communication série [Python]
AOJ Introduction à la programmation Sujet n ° 5, Sujet n ° 6
Introduction au Deep Learning ~ Règles d'apprentissage ~
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)