Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

PyTorch

PyTorch là framework Python mã nguồn mở để xây dựng và huấn luyện mạng neural bằng tensor GPU và autograd. Tìm hiểu các khái niệm cốt lõi và quy trình triển khai.

PyTorch là framework mã nguồn mở để xây dựng, huấn luyện và triển khai mạng neural bằng Python. PyTorch cung cấp tensor được tăng tốc bằng GPU, tính vi phân tự động cùng thư viện các layer, optimizer và hàm loss; PyTorch thực thi code một cách eager, từng dòng một, nên model được viết và gỡ lỗi như các chương trình Python thông thường. PyTorch được tạo ra tại Facebook AI Research, nay là Meta AI; từ năm 2022, PyTorch được quản lý bởi PyTorch Foundation trung lập với nhà cung cấp thuộc Linux Foundation và được sử dụng rộng rãi trong nghiên cứu deep learning cũng như các model sản xuất trong thị giác máy tính và ngôn ngữ.

Các khái niệm cốt lõi#

  • Tensor: Mảng đa chiều, tương tự mảng NumPy, có thể nằm trên CPU hoặc bộ tăng tốc. PyTorch hỗ trợ GPU NVIDIA thông qua CUDA, GPU AMD thông qua ROCm và Apple silicon thông qua Metal (MPS); việc chuyển dữ liệu giữa chúng cần một lệnh gọi .to(device).
  • Autograd: Khi các phép toán trên tensor được thực hiện, PyTorch ghi lại chúng trong đồ thị tính toán. Gọi .backward() sẽ duyệt ngược đồ thị đó và điền gradient của đầu ra theo từng tensor cần gradient; đây là bước lan truyền ngược trong quá trình huấn luyện.
  • Thực thi eager: Đồ thị được dựng lại trong mỗi lượt truyền xuôi, nên model có thể sử dụng vòng lặp, điều kiện và câu lệnh print của Python; lỗi cũng chỉ rõ chính xác dòng gây lỗi.
  • Module và optimizer: torch.nn cung cấp các layer như tích chập, attention và chuẩn hóa; torch.optim cung cấp các optimizer như SGD và Adam để cập nhật trọng số từ gradient đã tính.
  • torch.compile: Được bổ sung trong PyTorch 2.0, công cụ này thu thập chương trình eager dưới dạng đồ thị và tạo các kernel hợp nhất, thường giúp tăng tốc huấn luyện và suy luận mà không cần thay đổi code của model.

Ví dụ dưới đây chạy một phép tính nhỏ trên GPU nếu có sẵn và để autograd tính gradient:

import torch

# Use a GPU when PyTorch can see one, otherwise fall back to the CPU
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tensors record the operations applied to them when requires_grad=True
w = torch.tensor([2.0, -1.0], device=device, requires_grad=True)
x = torch.tensor([3.0, 4.0], device=device)

# Ordinary Python runs eagerly: each line executes immediately
loss = (w * x).sum() ** 2

# Autograd walks the recorded graph backward to get d(loss)/dw
loss.backward()
print(f"device={device}, loss={loss.item()}, grad={w.grad.tolist()}")

Trên máy không có GPU, chương trình in device=cpu, loss=4.0, grad=[12.0, 16.0]. Loss bằng (2·3 − 1·4)² = 4, và autograd trả về đạo hàm 2·(w·x)·x = [12, 16] mà không cần tự viết phép tính vi phân; đây cũng là cơ chế huấn luyện các mạng có hàng tỷ trọng số.

PyTorch và các công cụ khác#

  • TensorFlow: Framework của Google, vốn dựng đồ thị tĩnh trước khi chạy cho đến khi TensorFlow 2 đặt thực thi eager làm mặc định. TensorFlow vẫn phổ biến trong các hệ thống sản xuất dựa trên Keras và công cụ triển khai của Google.
  • JAX: Thư viện tính toán số của Google, biến đổi các hàm Python thuần bằng các phép toán grad, jit và vmap có thể kết hợp, được biên dịch qua XLA và phổ biến trong nghiên cứu quy mô lớn trên TPU.
  • OpenCV: Thư viện thị giác máy tính dùng để đọc, biến đổi và phân tích hình ảnh bằng các thuật toán cổ điển. Các pipeline thường dùng OpenCV để tải và tiền xử lý frame trước khi model PyTorch xử lý chúng.
  • Hugging Face: Hub và tập hợp thư viện chủ yếu được xây dựng trên PyTorch; thư viện Transformers cung cấp các model ngôn ngữ và thị giác đã huấn luyện trước dưới dạng module PyTorch.

Từ nghiên cứu đến triển khai#

Model PyTorch đã huấn luyện được lưu dưới dạng checkpoint, thường là tệp .pt hoặc .pth chứa trọng số. Model có thể chạy nguyên trạng trong một dịch vụ Python, nhưng thiết bị biên và máy chủ được tối ưu hóa thường cần chuyển đổi sang runtime dành cho phần cứng của chúng:

Ultralytics YOLO26 được viết bằng PyTorch: yolo26n.pt là checkpoint PyTorch, quá trình huấn luyện sử dụng autograd và optimizer của PyTorch, còn model.export() chuyển đổi model sang các định dạng triển khai, bao gồm ONNX, TensorRT, OpenVINO, Core ML và LiteRT.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning