PyTorch - Giới thiệu
PyTorch được định nghĩa là một thư viện máy học mã nguồn mở cho Python. Nó được sử dụng cho các ứng dụng như xử lý ngôn ngữ tự nhiên. Ban đầu, nó được phát triển bởi nhóm nghiên cứu trí tuệ nhân tạo của Facebook và phần mềm Pyro của Uber để lập trình xác suất được xây dựng trên nó.
Ban đầu, PyTorch được Hugh Perkins phát triển như một trình bao bọc Python cho LusJIT dựa trên khuôn khổ Torch. Có hai biến thể PyTorch.
PyTorch thiết kế lại và triển khai Torch bằng Python trong khi chia sẻ cùng các thư viện C lõi cho mã phụ trợ. Các nhà phát triển PyTorch đã điều chỉnh mã back-end này để chạy Python một cách hiệu quả. Họ cũng giữ nguyên khả năng tăng tốc phần cứng dựa trên GPU cũng như các tính năng mở rộng đã tạo nên Torch dựa trên Lua.
Đặc trưng
Các tính năng chính của PyTorch được đề cập dưới đây:
Easy Interface- PyTorch cung cấp API dễ sử dụng; do đó nó được coi là rất đơn giản để vận hành và chạy trên Python. Việc thực thi mã trong khuôn khổ này khá dễ dàng.
Python usage- Thư viện này được coi là Pythonic tích hợp trơn tru với ngăn xếp khoa học dữ liệu Python. Do đó, nó có thể tận dụng tất cả các dịch vụ và chức năng được cung cấp bởi môi trường Python.
Computational graphs- PyTorch cung cấp một nền tảng tuyệt vời cung cấp các đồ thị tính toán động. Do đó người dùng có thể thay đổi chúng trong thời gian chạy. Điều này rất hữu ích khi nhà phát triển không biết cần bao nhiêu bộ nhớ để tạo mô hình mạng nơron.
PyTorch được biết đến với ba cấp độ trừu tượng như được đưa ra dưới đây:
Tensor - Mảng n-chiều bắt buộc chạy trên GPU.
Biến - Nút trong đồ thị tính toán. Điều này lưu trữ dữ liệu và gradient.
Mô-đun - Lớp mạng nơ-ron sẽ lưu trữ trạng thái hoặc trọng số có thể học được.
Ưu điểm của PyTorch
Sau đây là những ưu điểm của PyTorch -
Nó rất dễ dàng để gỡ lỗi và hiểu mã.
Nó bao gồm nhiều lớp như Torch.
Nó bao gồm rất nhiều chức năng mất mát.
Có thể coi đây là phần mở rộng NumPy cho GPU.
Nó cho phép xây dựng các mạng có cấu trúc phụ thuộc vào chính tính toán.
TensorFlow so với PyTorch
Chúng ta sẽ xem xét sự khác biệt chính giữa TensorFlow và PyTorch dưới đây:
PyTorch | TensorFlow |
---|---|
PyTorch có liên quan chặt chẽ với khung Torch dựa trên lua được sử dụng tích cực trong Facebook. |
TensorFlow được phát triển bởi Google Brain và được sử dụng tích cực tại Google. |
PyTorch tương đối mới so với các công nghệ cạnh tranh khác. |
TensorFlow không phải là mới và được nhiều nhà nghiên cứu và các chuyên gia trong ngành coi là một công cụ cần thiết. |
PyTorch bao gồm mọi thứ theo cách bắt buộc và năng động. |
TensorFlow bao gồm các đồ thị tĩnh và động dưới dạng kết hợp. |
Đồ thị tính toán trong PyTorch được xác định trong thời gian chạy. |
TensorFlow không bao gồm bất kỳ tùy chọn thời gian chạy nào. |
PyTorch bao gồm triển khai đặc trưng cho các khuôn khổ di động và nhúng. |
TensorFlow hoạt động tốt hơn cho các khuôn khổ nhúng. |