- Repo 876 sao trên GitHub giúp bạn làm chủ tensor PyTorch qua notebook tương tác - từ khởi tạo, phép toán, đến indexing và reshaping.
- PyTorch hỗ trợ 1.200+ tensor operations chạy được trên CPU, GPU (CUDA), và Apple Silicon (MPS).
- Pitfall phổ biến nhất khi học: lỗi shape, dtype mismatch, và device không khớp.
- Meta, Tesla, OpenAI đều dùng PyTorch - và Stanford dạy DL bằng framework này.
TL;DR
Rohit Tiwari vừa đẩy lên GitHub một notebook PyTorch cực kỳ thực chiến cho người mới: 876 stars, một file .ipynb duy nhất đi từ tensor initialization đến matrix multiplication, indexing, và reshaping. Đây là điểm khởi đầu tốt nhất nếu bạn muốn hiểu nền tảng của mọi model deep learning hiện đại.

Tại sao bạn cần hiểu tensor
Mọi thứ trong deep learning - ảnh, văn bản, âm thanh, chuỗi protein - đều được biểu diễn dưới dạng tensor. Model học bằng cách thực hiện hàng triệu phép toán trên các tensor đó. Nếu bạn không hiểu tensor, bạn sẽ không hiểu tại sao code của mình bị lỗi.
PyTorch tensor về bản chất giống NumPy ndarray, nhưng có thêm hai điểm then chốt:
- GPU acceleration: tensor chạy được trên CUDA (NVIDIA), MPS (Apple Silicon), MTIA, XPU - thay vì chỉ CPU như NumPy
- Autograd: PyTorch tự tính gradient qua
torch.autograd- không cần viết backprop thủ công
Thêm vào đó, PyTorch và NumPy chia sẻ cùng một vùng nhớ khi tensor ở CPU - chuyển đổi qua lại giữa torch.from_numpy() và .numpy() không tốn chi phí copy.
Trước khi bắt đầu
Bạn cần nắm vững những thứ sau trước khi đọc notebook:
- Python cơ bản - đặc biệt list indexing và slicing (cú pháp trong PyTorch rất tương đồng)
- NumPy cơ bản - nếu đã quen
ndarray, bạn sẽ cảm thấy quen ngay với Tensor API - Phép nhân ma trận: quy tắc quan trọng nhất - inner dimensions phải khớp.
(3,2) @ (2,3)hoạt động, kết quả shape là(3,3);(3,2) @ (3,2)lỗi ngay
Những gì bạn sẽ học trong notebook
Notebook chia thành các phần logic, mỗi phần có code ví dụ chạy được:
Khởi tạo tensor
Từ Python list, NumPy array, hoặc dùng built-in methods như torch.zeros(), torch.ones(), torch.rand(), torch.arange(). Bạn học cách đọc ba thuộc tính quan trọng nhất: .shape, .dtype, .device - ba thứ này giải thích 90% lỗi PyTorch bạn sẽ gặp.
Precision và dtype
PyTorch hỗ trợ float16, float32 (mặc định), float64, và int8/16/32/64. Precision thấp hơn = tốc độ nhanh hơn + ít bộ nhớ hơn nhưng kém chính xác hơn. Mobile neural networks thường dùng int8. Lưu ý: một số phép như torch.mean() yêu cầu float - dùng int tensor sẽ lỗi.
Phép toán trên tensor
Hơn 1.200 operations được hỗ trợ: cộng/trừ/nhân/chia element-wise, linear algebra, aggregation (min/max/mean/sum), positional argmax/argmin. Với matrix multiplication, dùng torch.matmul() hoặc toán tử @ - không dùng vòng lặp thủ công (chậm hơn nhiều lần).
Indexing và reshaping
Indexing trong PyTorch đi từ outer dimension vào inner dimension - giống hệt NumPy. Reshaping tools quan trọng nhất: torch.reshape(), tensor.view(), torch.squeeze(), torch.unsqueeze(), torch.permute(). Cần dùng chúng mọi lúc để align shape trước khi nhân ma trận.
Ba bẫy thường gặp nhất
Khi code PyTorch bị lỗi, hãy tự hỏi: "shape là gì, dtype là gì, đang ở device nào?"
- Shape mismatch: lỗi phổ biến nhất. Dùng
tensor.T(transpose) hoặcreshapeđể fix trước khi nhân - Dtype mismatch: PyTorch yêu cầu các tensor tham gia phép toán phải cùng dtype. Trộn float32 với float16 sẽ lỗi
- Device mismatch: một tensor ở CPU, tensor kia ở GPU - phép toán sẽ fail. Luôn dùng
.to(device)để đồng nhất
Bonus: tránh in-place operations (các method có _ suffix như x.copy_(y)) - chúng xóa lịch sử gradient, gây vấn đề khi autograd tính đạo hàm.
Ai nên dùng repo này
Repo này phù hợp cho:
- Sinh viên bắt đầu học ML/DL và chưa biết bắt đầu từ đâu
- Developer Python muốn chuyển sang ML - bạn đã biết NumPy, học thêm một bước là có PyTorch
- Data scientist cần hiểu internals của framework thay vì chỉ dùng Keras high-level API
- Researcher muốn tham khảo tensor ops trước khi build custom model
Số liệu biết rằng PyTorch đã được Meta, Tesla, Microsoft, OpenAI dùng trong production. Stanford dạy deep learning bằng PyTorch. Andrej Karpathy (Tesla AI Day) đã nhiều lần nhắc đến PyTorch là nền tảng cho computer vision của xe tự lái.
Tiếp theo sau tensor
Sau khi nắm vững tensor, roadmap tự nhiên là:
- Autograd - hiểu cách PyTorch tính gradient tự động (
requires_grad=True,.backward()) - torch.nn - build neural network layers bằng
nn.Module - Training loop - forward pass, loss, backward, optimizer step
- TorchVision / TorchAudio - domain-specific libraries cho CV và audio
PyTorch hiện đang phát triển mạnh: version 2.13 đang trong dev, team tập trung vào torch.compile để tăng tốc inference đáng kể trong production.
Nguồn: analyticalrohit/pytorch_fundamentals, PyTorch Official Docs, Zero to Mastery PyTorch, Real Python.
