Đánh giá hiệu năng mô hình

Nhập môn Deep Learning với PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Training, validation và testing

$$

  • Một tập dữ liệu thường chia thành ba phần:
Tỷ lệ dữ liệu Vai trò
Training 80–90% Điều chỉnh tham số mô hình
Validation 10–20% Tinh chỉnh siêu tham số
Test 5–10% Đánh giá hiệu năng mô hình cuối

$$

  • Theo dõi lossaccuracy trong training và validation
Nhập môn Deep Learning với PyTorch

Tính training loss

$$

Mỗi epoch:

  • Cộng loss của tất cả batch trong dataloader
  • Tính mean training loss ở cuối epoch
training_loss = 0.0

for inputs, labels in trainloader: # Chạy forward pass outputs = model(inputs) # Tính loss loss = criterion(outputs, labels)
# Lan truyền ngược loss.backward() # Tính gradient optimizer.step() # Cập nhật trọng số optimizer.zero_grad() # Xóa gradient
# Tính và cộng dồn loss training_loss += loss.item()
epoch_loss = training_loss / len(trainloader)
Nhập môn Deep Learning với PyTorch

Tính validation loss

validation_loss = 0.0
model.eval() # Đưa model về chế độ đánh giá


with torch.no_grad(): # Tắt gradient để hiệu quả hơn
for inputs, labels in validationloader: # Chạy forward pass outputs = model(inputs) # Tính loss loss = criterion(outputs, labels) validation_loss += loss.item() epoch_loss = validation_loss / len(validationloader) # Tính loss trung bình
model.train() # Chuyển lại chế độ huấn luyện
Nhập môn Deep Learning với PyTorch

Overfitting

một ví dụ về overfitting

Nhập môn Deep Learning với PyTorch

Tính accuracy với torchmetrics

import torchmetrics


# Tạo metric accuracy metric = torchmetrics.Accuracy(task="multiclass", num_classes=3)
for features, labels in dataloader: outputs = model(features) # Lan truyền xuôi # Tính accuracy theo batch (giữ argmax cho nhãn one-hot) metric.update(outputs, labels.argmax(dim=-1))
# Tính accuracy cho cả epoch accuracy = metric.compute()
# Reset metric cho epoch tiếp theo metric.reset()
Nhập môn Deep Learning với PyTorch

Hãy thực hành!

Nhập môn Deep Learning với PyTorch

Preparing Video For Download...