Tại sao PyTorch?
PyTorch được phát triển bởi Meta AI, nổi bật với dynamic computation graph — dễ debug và trực quan hơn TensorFlow. Là framework số 1 trong nghiên cứu AI và đang được dùng rộng rãi trong production.
Tensor — Nền tảng của PyTorch
import torch
# Tạo tensor
x = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
y = torch.randn(3, 4) # random normal
z = torch.zeros(2, 3) # zeros
# GPU acceleration
if torch.cuda.is_available():
x = x.cuda()
print(f"Running on: {torch.cuda.get_device_name(0)}")
Xây dựng Neural Network
import torch.nn as nn
import torch.optim as optim
class ImageClassifier(nn.Module):
def __init__(self):
super().__init__()
self.network = nn.Sequential(
nn.Flatten(),
nn.Linear(28*28, 256),
nn.ReLU(),
nn.Dropout(0.3),
nn.Linear(256, 128),
nn.ReLU(),
nn.Linear(128, 10)
)
def forward(self, x):
return self.network(x)
model = ImageClassifier()
optimizer = optim.Adam(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()
Training loop
for epoch in range(10):
model.train()
for batch_x, batch_y in train_loader:
optimizer.zero_grad()
output = model(batch_x)
loss = criterion(output, batch_y)
loss.backward()
optimizer.step()
print(f"Epoch {epoch+1}, Loss: {loss.item():.4f}")
PyTorch kết hợp sự linh hoạt của Python với hiệu năng của C++, là lựa chọn tuyệt vời cho cả nghiên cứu lẫn production.