PyTorTutorial ch

โšก Resumo Inteligente

PyTorO ch รฉ a estrutura de aprendizado profundo de cรณdigo aberto da Meta, que agora impulsiona 85% dos artigos de pesquisa em IA em 2026. LessOs cursos abrangem instalaรงรฃo, conceitos bรกsicos da estrutura, regressรฃo simples, classificaรงรฃo de imagens e implantaรงรฃo do AWS SageMaker.

  • ๐Ÿง  Grรกficos dinรขmicos: A execuรงรฃo imediata significa que os tensores sรฃo executados linha por linha, facilitando o processamento. Python-depuraรงรฃo no estilo.
  • ๐Ÿ PythonAPI IC: A leitura รฉ natural para qualquer pessoa familiarizada com NumPy e Python.
  • ๐Ÿ“ฆ Ecossistema Rico: Abraรงo facial, vLLM, DeepSpeed โ€‹โ€‹e TorO chVision รฉ construรญdo em PyTorcap.
  • โš™๏ธ Fluxo de trabalho de treinamento: Defina o modelo, escolha a funรงรฃo de perda e o otimizador e, em seguida, execute os loops para frente, para trรกs e passo a passo.
  • ๐Ÿ“Š Domรญnio da pesquisa: 85% dos artigos recentes usam PyTorch versus 15 por cento TensorFlow.
  • ๐Ÿค– Preparado para Mestrado em Direito (LLM): Suporte nativo para transformadores, ajuste fino LoRA e fluxos de trabalho de quantizaรงรฃo.

PyTorTutorial ch

O que รฉ PiTorhรฃ?

PyTorch รฉ um open-source TorBiblioteca de aprendizado de mรกquina baseada em ch para processamento de linguagem natural usando Pythonร‰ semelhante ao NumPy, mas com poderoso suporte a GPUs. Oferece grafos computacionais dinรขmicos que vocรช pode modificar em tempo real com a ajuda do autograd.py.TorO ch tambรฉm รฉ mais rรกpido do que algumas outras estruturas. Ele foi desenvolvido pelo Grupo de Pesquisa em IA do Facebook em 2016.

Saber o que PyTorO texto apresenta uma anรกlise equilibrada de seus pontos fortes e fracos.

PyTorVantagens e desvantagens

A seguir, sรฃo apresentadas as vantagens e desvantagens do Py.Torch:

Vantagens do PyTorch

  1. Biblioteca Simples
    PyTorO cรณdigo ch รฉ simples. ร‰ fรกcil de entender e vocรช pode usar a biblioteca instantaneamente. Por exemplo, veja o trecho de cรณdigo abaixo:
class Net(torch.nn.Module):
   def __init__(self):
       super(Net, self).__init__()
       self.layer = torch.nn.Linear(1, 1)

   def forward(self, x):
       x = self.layer(x)      
       return x

Conforme mencionado acima, vocรช pode definir o modelo de rede facilmente e entender o cรณdigo rapidamente, sem muito treinamento.

  1. Grรกfico Computacional Dinรขmico

Grรกfico Computacional Dinรขmico

Fonte da imagem: Explorando o aprendizado profundo com PyTorch

PyTorO ch oferece um Grafo Computacional Dinรขmico (DAG). Grafos computacionais sรฃo uma forma de expressar expressรตes matemรกticas em modelos ou teorias de grafos, como nรณs e arestas. O nรณ realiza a operaรงรฃo matemรกtica e a aresta รฉ um tensor que รฉ inserido nos nรณs e carrega a saรญda do nรณ em forma de tensor.

DAG รฉ um grรกfico que possui formato arbitrรกrio e รฉ capaz de realizar operaรงรตes entre diferentes grรกficos de entrada. A cada iteraรงรฃo, um novo grรกfico รฉ criado. Assim, รฉ possรญvel ter a mesma estrutura de grรกfico ou criar um novo grรกfico com uma operaรงรฃo diferente, ou podemos chamรก-lo de grรกfico dinรขmico.

  1. Melhor Performance

Comunidades e pesquisadores avaliam e comparam estruturas para ver qual delas รฉ mais rรกpida. Um repositรณrio GitHub Referรชncia em estruturas de aprendizado profundo e GPUs relatou que PyTorO ch รฉ mais rรกpido que o outro framework em termos de imagens processadas por segundo.

Como vocรช pode ver abaixo, os grรกficos de comparaรงรฃo com vgg16 e resnet152

Vantagens do PyTorch

Vantagens do PyTorch

  1. Nativo Python

PyTorO ch รฉ mais baseado em Python. Por exemplo, se vocรช quiser treinar um modelo, pode usar o fluxo de controle nativo, como o loo.ping e recursรตes sem a necessidade de adicionar variรกveis โ€‹โ€‹ou sessรตes especiais para executรก-las. Isso รฉ muito รบtil para o processo de treinamento.

PyTorO ch tambรฉm implementa Programaรงรฃo Imperativa e รฉ definitivamente mais flexรญvel. Portanto, รฉ possรญvel imprimir o valor do tensor no meio de um processo de computaรงรฃo.

Desvantagem do PyTorch

PyTorO ch requer aplicativos de terceiros para visualizaรงรฃo. Tambรฉm precisa de um servidor de API para produรงรฃo.

A seguir neste PyTorNeste tutorial, aprenderemos sobre a diferenรงa entre PyTorch e TensorFlow.

PyTorch vs. TensorFlow

Parรขmetro PyTorch TensorFlow
Definiรงรฃo de Modelo O modelo รฉ definido em uma subclasse e oferece pacotes fรกceis de usar O modelo รฉ definido com muitos e vocรช precisa entender a sintaxe
Suporte GPU Sim Sim
Tipo de Grรกfico Dinรขmico Estรกtico
Ferramentas Nenhuma ferramenta de visualizaรงรฃo Vocรช pode usar a ferramenta de visualizaรงรฃo Tensorboard
Comunidade A comunidade continua crescendo Grandes comunidades ativas

Com a comparaรงรฃo em mente, o prรณximo passo รฉ obter o Py.Torch executado localmente ou na nuvem.

Instalando o PyTorch

Linux

ร‰ simples instalรก-lo no Linux. Vocรช pode optar por usar um ambiente virtual ou instalรก-lo diretamente com acesso root. Digite este comando no terminal

pip3 install --upgrade torch torchvision

AWS SageMaker

Sagemaker รฉ uma das plataformas em Amazon Serviรงo de internet que oferece um poderoso mecanismo de aprendizado de mรกquina com configuraรงรตes de aprendizado profundo prรฉ-instaladas para cientistas de dados ou desenvolvedores criarem, treinarem e implantarem modelos em qualquer escala.

Primeiro abra o Amazon Sรกbio console e clique em Criar instรขncia de notebook e preencha todos os detalhes do seu notebook.

AWS SageMaker

Prรณxima etapa, clique em Abrir para iniciar sua instรขncia de notebook.

AWS SageMaker

Finalmente, em JupyterClique em Novo e escolha conda_pytorch_p36. Agora vocรช estรก pronto para usar sua instรขncia de notebook com o PyTorch.Torch instalado.

A seguir neste PyTorNeste tutorial, aprenderemos sobre Python.TorNoรงรตes bรกsicas da estrutura CH.

Com a instalaรงรฃo concluรญda, o prรณximo passo รฉ a prรณpria API.

PyTorNoรงรตes bรกsicas do Framework

Vamos aprender os conceitos bรกsicos de Python.TorAntes de nos aprofundarmos, vamos analisar o capรญtulo seguinte. PyTorO ch utiliza Tensor para cada variรกvel, similar ao ndarray do NumPy, mas com suporte a computaรงรฃo em GPU. Aqui, explicaremos o modelo de rede, a funรงรฃo de perda, a retropropagaรงรฃo e o otimizador.

Modelo de rede

A rede pode ser construรญda subclassificando torch.nn. Existem 2 partes principais,

  1. A primeira parte รฉ definir os parรขmetros e camadas que vocรช utilizarรก
  2. A segunda parte รฉ a tarefa principal chamada processo forward que receberรก uma entrada e preverรก a saรญda.
Import torch
import torch.nn as nn
import torch.nn.functional as F

class Model(nn.Module):
 def __init__(self):
        super(Model, self).__init__()
        self.conv1 = nn.Conv2d(3, 20, 5)
        self.conv2 = nn.Conv2d(20, 40, 5)
self.fc1 = nn.Linear(320, 10)

def forward(self, x):
       x = F.relu(self.conv1(x))
       x = F.relu(self.conv2(x))
       x = x.view(-1, 320)
       x = F.relu(self.fc1(x))
       return F.log_softmax(x)

net = Model()

Como vocรช pode ver acima, vocรช cria uma classe de nn.Module chamada Model. Ele contรฉm 2 camadas Conv2d e uma camada Linear. A primeira camada conv2d recebe uma entrada de 3 e o formato de saรญda de 20. A segunda camada receberรก uma entrada de 20 e produzirรก um formato de saรญda de 40. A รบltima camada รฉ uma camada totalmente conectada no formato de 320 e produzirรก uma saรญda de 10.

O processo de encaminhamento pegarรก uma entrada de X e a alimentarรก na camada conv1 e executarรก a funรงรฃo ReLU,

Da mesma forma, tambรฉm alimentarรก a camada conv2. Depois disso, o x serรก remodelado em (-1, 320) e alimentado na camada FC final. Antes de enviar a saรญda, vocรช usarรก a funรงรฃo de ativaรงรฃo softmax.

O processo de retrocesso รฉ definido automaticamente pelo autograd, portanto, vocรช sรณ precisa definir o processo de encaminhamento.

Funรงรฃo de perda

A funรงรฃo de perda รฉ usada para medir o quรฃo bem o modelo de previsรฃo consegue prever os resultados esperados. PyTorO mรณdulo torch.nn jรก possui diversas funรงรตes de perda padrรฃo. Por exemplo, vocรช pode usar a funรงรฃo de perda de entropia cruzada para resolver um problema de otimizaรงรฃo multiclasse em Python.Torproblema de classificaรงรฃo ch. ร‰ fรกcil definir a funรงรฃo de perda e calcular as perdas:

loss_fn = nn.CrossEntropyLoss()

#training process
loss = loss_fn(out, target)

ร‰ fรกcil usar seu prรณprio cรกlculo de funรงรฃo de perda com Py.Torcap.

Apoio traseiro

Para realizar a retropropagaรงรฃo, basta chamar los.backward(). O erro serรก calculado, mas lembre-se de limpar o gradiente existente com zero_grad()

net.zero_grad() # to clear the existing gradient
loss.backward() # to perform backpropragation

Optimizer

O torch.optim fornece algoritmos de otimizaรงรฃo comuns. Vocรช pode definir um otimizador com uma etapa simples:

optimizer = torch.optim.SGD(net.parameters(), lr = 0.01, momentum=0.9)

Vocรช precisa passar os parรขmetros do modelo de rede e a taxa de aprendizado para que a cada iteraรงรฃo os parรขmetros sejam atualizados apรณs o processo backprop.

A maneira mais simples de aprender a API รฉ por meio de um pequeno exemplo completo, do inรญcio ao fim.

Regressรฃo simples com PyTorch

Vamos aprender regressรฃo simples com Python.TorExemplos de ch:

Etapa 1) Criando nosso modelo de rede

Nosso modelo de rede รฉ uma camada linear simples com formato de entrada e saรญda 1.

from __future__ import print_function

import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable

class Net(nn.Module):
   def __init__(self):
       super(Net, self).__init__()
       self.layer = torch.nn.Linear(1, 1)

   def forward(self, x):
       x = self.layer(x)      
       return x

net = Net()
print(net)

E a saรญda da rede deveria ser assim

Net(
  (hidden): Linear(in_features=1, out_features=1, bias=True)
)

Etapa 2) Dados de teste

Antes de iniciar o processo de treinamento, vocรช precisa conhecer nossos dados. Vocรช cria uma funรงรฃo aleatรณria para testar nosso modelo. Y = x3 sen(x)+ 3x+0.8 rands(100)

# Visualize our data
import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.sin(x) * np.power(x,3) + 3*x + np.random.rand(100)*0.8

plt.scatter(x, y)
plt.show()

Aqui estรก o grรกfico de dispersรฃo da nossa funรงรฃo:

Grรกfico de dispersรฃo da regressรฃo simples com PyTorch

Antes de iniciar o processo de treinamento, vocรช precisa converter o array numpy em variรกveis โ€‹โ€‹compatรญveis com Torch e autograd, conforme mostrado no Py abaixo.TorExemplo de regressรฃo ch.

# convert numpy array to tensor in shape of input size
x = torch.from_numpy(x.reshape(-1,1)).float()
y = torch.from_numpy(y.reshape(-1,1)).float()
print(x, y)

Etapa 3) Otimizador e Perda

A seguir, vocรช deve definir o Otimizador e a Funรงรฃo de Perda para nosso processo de treinamento.

# Define Optimizer and Loss Function
optimizer = torch.optim.SGD(net.parameters(), lr=0.2)
loss_func = torch.nn.MSELoss()

Etapa 4) Treinamento

Agora vamos iniciar nosso processo de treinamento. Com uma รฉpoca de 250, vocรช irรก iterar nossos dados para encontrar o melhor valor para nossos hiperparรขmetros.

inputs = Variable(x)
outputs = Variable(y)
for i in range(250):
   prediction = net(inputs)
   loss = loss_func(prediction, outputs) 
   optimizer.zero_grad()
   loss.backward()        
   optimizer.step()       

   if i % 10 == 0:
       # plot and show learning process
       plt.cla()
       plt.scatter(x.data.numpy(), y.data.numpy())
       plt.plot(x.data.numpy(), prediction.data.numpy(), 'r-', lw=2)
       plt.text(0.5, 0, 'Loss=%.4f' % loss.data.numpy(), fontdict={'size': 10, 'color':  'red'})
       plt.pause(0.1)

plt.show()

Etapa 5) Resultado

Como vocรช pode ver abaixo, vocรช executou o Py com sucesso.Torregressรฃo com uma rede neural. Na verdade, a cada iteraรงรฃo, a linha vermelha no grรกfico serรก atualizada e mudarรก de posiรงรฃo para se ajustar aos dados. Mas nesta imagem, ela mostra apenas o resultado final, como mostrado no cรณdigo Python abaixo.TorExemplo de ch:

Grรกfico de dispersรฃo do resultado da regressรฃo simples

A regressรฃo รฉ um aquecimento; a classificaรงรฃo de imagens exercita os mรบsculos de aprendizado profundo do Py.Torcap.

Exemplo de classificaรงรฃo de imagens com PyTorch

Um dos mรฉtodos populares para aprender o bรกsico de deep learning estรก com o conjunto de dados MNIST. ร‰ o โ€œHello Worldโ€ no aprendizado profundo. O conjunto de dados contรฉm nรบmeros manuscritos de 0 a 9 com o total de 60,000 amostras de treinamento e 10,000 amostras de teste jรก rotuladas com o tamanho de 28ร—28 pixels.

Classificaรงรฃo de imagens com PyTorch

Etapa 1) Prรฉ-processar os dados

Na primeira etapa deste PyTorPara realizar um exemplo de classificaรงรฃo, vocรช carregarรก o conjunto de dados usando o mรณdulo torchvision.

Antes de iniciar o processo de treinamento, vocรช precisa entender os dados. TorO chvision carregarรก o conjunto de dados e transformarรก as imagens de acordo com os requisitos apropriados para a rede, como forma e normalizaรงรฃo das imagens.

import torch
import torchvision
import numpy as np
from torchvision import datasets, models, transforms

# This is used to transform the images to Tensor and normalize it
transform = transforms.Compose(
   [transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

training = torchvision.datasets.MNIST(root='./data', train=True,
                                       download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(training, batch_size=4,
                                         shuffle=True, num_workers=2)

testing = torchvision.datasets.MNIST(root='./data', train=False,
                                      download=True, transform=transform)
test_loader = torch.utils.data.DataLoader(testing, batch_size=4,
                                        shuffle=False, num_workers=2)

classes = ('0', '1', '2', '3',
          '4', '5', '6', '7', '8', '9')
         
import matplotlib.pyplot as plt
import numpy as np

#create an iterator for train_loader
# get random training images
data_iterator = iter(train_loader)
images, labels = data_iterator.next()

#plot 4 images to visualize the data
rows = 2
columns = 2
fig=plt.figure()
for i in range(4):
   fig.add_subplot(rows, columns, i+1)
   plt.title(classes[labels[i]])
   img = images[i] / 2 + 0.5     # this is for unnormalize the image
   img = torchvision.transforms.ToPILImage()(img)
   plt.imshow(img)
plt.show()

A funรงรฃo transform converte as imagens em tensor e normaliza o valor. A funรงรฃo torchvision.transforms.MNIST, irรก baixar o conjunto de dados (se nรฃo estiver disponรญvel) no diretรณrio, definir o conjunto de dados para treinamento se necessรกrio e fazer o processo de transformaรงรฃo.

Para visualizar o conjunto de dados, vocรช usa o data_iterator para obter o prรณximo lote de imagens e rรณtulos. Vocรช usa matplot para plotar essas imagens e seus rรณtulos apropriados. Como vocรช pode ver abaixo nossas imagens e seus rรณtulos.

Exemplo de classificaรงรฃo de imagens com PyTorch

Etapa 2) Configuraรงรฃo do modelo de rede

Agora, neste PyTorPor exemplo, vocรช criarรก uma rede neural simples para PyTorClassificaรงรฃo de imagens ch.

Aqui, apresentamos outra maneira de criar o modelo de rede em Python.TorCapรญtulo 1: Usaremos nn.Sequential para criar um modelo de sequรชncia em vez de criar uma subclasse de nn.Module.

import torch.nn as nn

# flatten the tensor into 
class Flatten(nn.Module):
   def forward(self, input):
       return input.view(input.size(0), -1)

#sequential based model
seq_model = nn.Sequential(
           nn.Conv2d(1, 10, kernel_size=5),
           nn.MaxPool2d(2),
           nn.ReLU(),
           nn.Dropout2d(),
           nn.Conv2d(10, 20, kernel_size=5),
           nn.MaxPool2d(2),
           nn.ReLU(),
           Flatten(),
           nn.Linear(320, 50),
           nn.ReLU(),
           nn.Linear(50, 10),
           nn.Softmax(),
         )

net = seq_model
print(net)

Aqui estรก o resultado do nosso modelo de rede

Sequential(
  (0): Conv2d(1, 10, kernel_size=(5, 5), stride=(1, 1))
  (1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
  (2): ReLU()
  (3): Dropout2d(p=0.5)
  (4): Conv2d(10, 20, kernel_size=(5, 5), stride=(1, 1))
  (5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
  (6): ReLU()
  (7): Flatten()
  (8): Linear(in_features=320, out_features=50, bias=True)
  (9): ReLU()
  (10): Linear(in_features=50, out_features=10, bias=True)
  (11): Softmax()
)

Explicaรงรฃo da rede

  1. A sequรชncia รฉ que a primeira camada รฉ uma camada Conv2D com formato de entrada 1 e formato de saรญda 10 com tamanho de kernel 5
  2. Em seguida, vocรช tem uma camada MaxPool2D
  3. Uma funรงรฃo de ativaรงรฃo ReLU
  4. uma camada Dropout para eliminar valores de baixa probabilidade.
  5. Em seguida, um segundo Conv2d com formato de entrada 10 da รบltima camada e formato de saรญda 20 com tamanho de kernel 5
  6. Em seguida, uma camada MaxPool2d
  7. Funรงรฃo de ativaรงรฃo ReLU.
  8. Depois disso, vocรช achatarรก o tensor antes de alimentรก-lo na camada Linear
  9. A Camada Linear mapearรก nossa saรญda na segunda camada Linear com funรงรฃo de ativaรงรฃo softmax

Etapa 3) Treine o modelo

Antes de iniciar o processo de treinamento, รฉ necessรกrio configurar o critรฉrio e a funรงรฃo do otimizador.

Para o critรฉrio de aprendizado, vocรช usarรก a funรงรฃo de perda CrossEntropyLoss. Para o otimizador, vocรช usarรก o SGD com uma taxa de aprendizado de 0.001 e um momento de 0.9, conforme mostrado no cรณdigo Python abaixo.TorExemplo de ch.

import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

O processo de encaminhamento pegarรก o formato de entrada e o passarรก para a primeira camada conv2d. A partir daรญ, ele serรก alimentado no maxpool2d e finalmente colocado na funรงรฃo de ativaรงรฃo ReLU. O mesmo processo ocorrerรก na segunda camada conv2d. Depois disso, a entrada serรก remodelada em (-1,320) e alimentada na camada fc para prever a saรญda.

Agora, vocรช iniciarรก o processo de treinamento. Vocรช irรก iterar em nosso conjunto de dados 2 vezes ou com uma รฉpoca de 2 e imprimir a perda atual a cada lote de 2000.

for epoch in range(2): 

#set the running loss at each epoch to zero
   running_loss = 0.0
# we will enumerate the train loader with starting index of 0
# for each iteration (i) and the data (tuple of input and labels)
   for i, data in enumerate(train_loader, 0):
       inputs, labels = data

# clear the gradient
       optimizer.zero_grad()

#feed the input and acquire the output from network
       outputs = net(inputs)

#calculating the predicted and the expected loss
       loss = criterion(outputs, labels)

#compute the gradient
       loss.backward()

#update the parameters
       optimizer.step()

       # print statistics
       running_loss += loss.item()
       if i % 1000 == 0:
           print('[%d, %5d] loss: %.3f' %
                 (epoch + 1, i + 1, running_loss / 1000))
           running_loss = 0.0

Em cada รฉpoca, o enumerador obterรก a prรณxima tupla de entrada e os rรณtulos correspondentes. Antes de alimentarmos nosso modelo de rede com a entrada, precisamos limpar o gradiente anterior. Isso รฉ necessรกrio porque apรณs o processo reverso (processo de retropropagaรงรฃo), o gradiente serรก acumulado em vez de substituรญdo. Em seguida, calcularemos as perdas da produรงรฃo prevista a partir da produรงรฃo esperada. Depois disso, faremos uma retropropagaรงรฃo para calcular o gradiente e, por fim, atualizaremos os parรขmetros.

Aqui estรก o resultado do processo de treinamento

[1, 	1] loss: 0.002
[1,  1001] loss: 2.302
[1,  2001] loss: 2.295
[1,  3001] loss: 2.204
[1,  4001] loss: 1.930
[1,  5001] loss: 1.791
[1,  6001] loss: 1.756
[1,  7001] loss: 1.744
[1,  8001] loss: 1.696
[1,  9001] loss: 1.650
[1, 10001] loss: 1.640
[1, 11001] loss: 1.631
[1, 12001] loss: 1.631
[1, 13001] loss: 1.624
[1, 14001] loss: 1.616
[2, 	1] loss: 0.001
[2,  1001] loss: 1.604
[2,  2001] loss: 1.607
[2,  3001] loss: 1.602
[2,  4001] loss: 1.596
[2,  5001] loss: 1.608
[2,  6001] loss: 1.589
[2,  7001] loss: 1.610
[2,  8001] loss: 1.596
[2,  9001] loss: 1.598
[2, 10001] loss: 1.603
[2, 11001] loss: 1.596
[2, 12001] loss: 1.587
[2, 13001] loss: 1.596
[2, 14001] loss: 1.603

Etapa 4) Teste o modelo

Depois de treinar nosso modelo, vocรช precisa testar ou avaliar outros conjuntos de imagens.

Usaremos um iterador para test_loader, e ele gerarรก um lote de imagens e rรณtulos que serรฃo passados โ€‹โ€‹para o modelo treinado. A saรญda prevista serรก exibida e comparada com a saรญda esperada.

#make an iterator from test_loader
#Get a batch of training images
test_iterator = iter(test_loader)
images, labels = test_iterator.next()

results = net(images)
_, predicted = torch.max(results, 1)

print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))

fig2 = plt.figure()
for i in range(4):
   fig2.add_subplot(rows, columns, i+1)
   plt.title('truth ' + classes[labels[i]] + ': predict ' + classes[predicted[i]])
   img = images[i] / 2 + 0.5     # this is to unnormalize the image
   img = torchvision.transforms.ToPILImage()(img)
   plt.imshow(img)
plt.show()

Exemplo de classificaรงรฃo de imagens com PyTorch

Perguntas Frequentes

Sim, para a maioria dos alunos. PyTora execuรงรฃo ansiosa de ch, PythonA API ic e o alinhamento do Hugging Face facilitam o aprendizado. Pesquisas mostram que 60% dos iniciantes escolhem o Python.Torprimeiro.

Assistentes de IA como Copilot, Cursor e JetBrains IA gera PyTorO Hugging Face Transformers tambรฉm inclui loops de treinamento, sugestรตes de arquiteturas de camadas e depuraรงรฃo de erros de formato de tensores. Alรฉm disso, o Hugging Face Transformers รฉ distribuรญdo em Python.Tormodelos ch-first.

Sim. As ferramentas de IA estruturam as classes nn.Module, as escolhas de otimizadores e os ciclos de treinamento. Elas tambรฉm explicam os erros do CUDA, sugerem opรงรตes de precisรฃo mista e recomendam tamanhos de lote com base no formato do conjunto de dados.

PyTorO TensorFlow utiliza grafos dinรขmicos e domina a pesquisa. Ele lidera a implantaรงรฃo em produรงรฃo em dispositivos mรณveis e na borda por meio do TensorFlow Lite. A diferenรงa de desempenho foi reduzida graรงas ao torch.compile no Python.Torcapรญtulo 2.

Aproximadamente 85% dos artigos de pesquisa em aprendizado profundo usam PyTorch em 2026. O modelo de grafo dinรขmico se adapta ร  experimentaรงรฃo, e todo o ecossistema LLM, do Hugging Face ao vLLM, รฉ construรญdo em torno do Py.Torcap.

PyTorO ch รฉ executado nativamente em CPUs e GPUs CUDA, suporta ROCm em GPUs AMD, MPS em Apple Silicon e TPUs via Py.TorProjeto ch XLA. Escolha o dispositivo correto com chamadas .to().

Sim atravรฉs TorchServe, exportaรงรฃo ONNX e o mais recente ExecuTortempo de execuรงรฃo ch. O TensorFlow Lite continua sendo mais maduro para dispositivos mรณveis, mas o PyTorO ch estรก reduzindo rapidamente a diferenรงa na inferรชncia de arestas.

Iniciantes conseguem construir sua primeira rede em um ou dois dias. Dominar CNNs, transformers, treinamento distribuรญdo e implantaรงรฃo em produรงรฃo normalmente leva de trรชs a seis meses de trabalho consistente em projetos.

Resuma esta postagem com: