PyTorch cho người mới: Framework Deep Learning linh hoạt nhất

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.

Chia sẻ bài viết: