PyTorch é um framework de deep learning open-source desenvolvido pela Meta (Facebook) que oferece execução dinâmica de grafos computacionais. É amplamente utilizado na comunidade de pesquisa em IA devido à sua flexibilidade e facilidade de uso.
Com uma API Pythônica intuitiva e suporte nativo para GPU, PyTorch permite prototipagem rápida e experimentação eficiente, sendo ideal tanto para pesquisa quanto para produção.
Pesquisa em IA, prototipagem de novos modelos
CNNs, detecção de objetos, segmentação
Transformers, BERT, GPT, processamento de texto
Aprendizado por reforço, jogos, robótica
Exemplo de rede neural simples com PyTorch:
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset
# Definir modelo
class SimpleNet(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(SimpleNet, self).__init__()
self.fc1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, num_classes)
def forward(self, x):
x = self.fc1(x)
x = self.relu(x)
x = self.fc2(x)
return x
# Criar modelo
model = SimpleNet(input_size=784, hidden_size=128, num_classes=10)
# Definir loss e optimizer
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
# Loop de treinamento
for epoch in range(num_epochs):
for batch_idx, (data, targets) in enumerate(train_loader):
# Forward pass
outputs = model(data)
loss = criterion(outputs, targets)
# Backward pass
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')