Ravi de vous rencontrer, je m'appelle Yusaku Sekine. Ceci est mon premier article, donc je suis nerveux, mais je ferai de mon mieux pour l'écrire, alors n'hésitez pas à me contacter si vous avez des suggestions. De plus, dans cet article, je vais omettre l'explication sur la façon d'installer Pytorch et la grammaire de base. Se concentre sur la grammaire de base de Pytorch.
Je m'intéresse à l'intelligence artificielle et j'utilise TensorFlow </ strong> depuis longtemps, mais je ne peux plus utiliser TensorFlow sur mon appareil Windows.
Par conséquent, j'ai décidé de profiter de cette opportunité pour passer à Pytorch </ strong> et écrire un article comme une pratique.
La méthode d'apprentissage est la suivante.
torch1.py
import torch
tensor = torch.rand(3,3)
print(tensor)
résultat
tensor([[0.7545, 0.3774, 0.7312],
[0.9000, 0.6083, 0.5135],
[0.6012, 0.9147, 0.0625]]
Le mot "tenseur" est écrit dans le résultat de l'exécution. pytorch calcule ce tenseur et effectue un apprentissage automatique.
De plus, torch.rand génère aléatoirement des nombres de 0 à 1 (ligne, colonne). Vous pouvez le trouver encore mieux si vous l'exécutez avec des numéros de ligne et de colonne différents.
Ensuite, déclarons un tenseur général.
torch2.py
import torch
tensor = torch.tensor([[1,2,3],
[4,5,6],
[7,8,9]])
print(tensor)
résultat
tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Vous pouvez également déclarer un tenseur ici. Sélectionnez la méthode de génération de tenseur en fonction de l'utilisation.
torch2.py
import torch
tensor = torch.tensor([[1,2,3],
[4,5,6],
[7,8,9]])
print("somme")
print(tensor+tensor)
print("différence")
print(tensor-tensor)
print("produit")
print(tensor*tensor)
print("quotient")
print(tensor//tensor)
résultat
somme
tensor([[ 2, 4, 6],
[ 8, 10, 12],
[14, 16, 18]])
différence
tensor([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
produit
tensor([[ 1, 4, 9],
[16, 25, 36],
[49, 64, 81]])
quotient
tensor([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
Vous pouvez confirmer que le calcul est terminé sans aucun problème.
En passant, la somme et la différence entre les tenseurs peuvent être calculées de différentes manières.
tensor3.py
import torch
print(torch.add(tensor,tensor))
print(torch.sub(tensor,tensor))
résultat
tensor([[ 2, 4, 6],
[ 8, 10, 12],
[14, 16, 18]])
tensor([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
zeros_and_ones.py
print(torch.zeros(3,3))
print(torch.ones(3,3))
résultat
tensor([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
max_and_min.py
tensor = torch.tensor([[1,2,3],
[4,5,6],
[7,8,9]])
print(torch.max(tensor))
print(torch.min(tensor))
résultat
tensor(9)
tensor(1)
tensor_size.py
tensor = torch.tensor([[1,2,3],
[4,5,6],
[7,8,9]])
print(tensor.size())
résultat
torch.Size([3, 3])
sum_of_tensor.py
tensor = torch.tensor([1,2,3,4,5])
print(torch.sum(tensor))
tensor(15)
round_abs.py
#Tenseur de valeur absolue
tensor1 = torch.tensor([[-1,-2,-3],
[-4,-5,-6],
[-7,-8,-9]])
#Tenseur d'arrondi
tensor2 = torch.tensor([[1.1,2.4,3.5],
[-4.5,-5.7,-6.8],
[-7.1,-8.1,-9.0]])
print(torch.abs(tensor1))
print(torch.round(tensor2))
résultat
tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
tensor([[ 1., 2., 4.],
[-4., -6., -7.],
[-7., -8., -9.]])
pow_sqrt.py
#Tenseur pour le calcul de la multiplication
tensor3 = torch.tensor([[1,2,3],
[4,5,6],
[7,8,9]])
'''
Tenseur pour le calcul de la racine carrée
Si vous voulez faire une racine carrée, vous devez changer le type en float. La conversion de type est dtype= "Moule"
'''
tensor4 = torch.tensor([[1,4,9],
[16,25,36],
[49,64,81]],dtype=torch.float32)
print(torch.pow(tensor3,2)) #Vous pouvez accéder au pouvoir en changeant la partie de 2 arbitrairement.
print(torch.sqrt(tensor4))
résultat
tensor([[ 1, 4, 9],
[16, 25, 36],
[49, 64, 81]])
tensor([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
numpy_to_tensor.py
import numpy as np
import torch
numpy = np.array([1,2,3,4,5])
numpy_to_tensor = torch.from_numpy(numpy)
print(numpy)
print(numpy_to_tensor)
résultat
[1 2 3 4 5]
tensor([1, 2, 3, 4, 5])
#On peut confirmer que la notation est différente entre «numpy» et «tenseur».
Merci d'avoir lu jusqu'au bout.
Recommended Posts