Giới thiệu series Pytorch | Deep Learning cơ bản
 

Giới thiệu series Pytorch

| Posted in Pytorch

Tại sao lại là Pytorch?

Ngày nay, ứng dụng của Deep Learning có mặt có khắp mọi nơi: dịch máy (machine translation), xác định vật thể trong ảnh (object detection), ô tô tự lái (self-driving car),…

Chúng ta cần các Deep Learning framework để hỗ trợ phát triển ứng dụng cũng như triển khai sản phẩm ra thực tế. Có rất nhiều framework cho Deep Learning như: Pytorch, Tensorflow, Keras, Mxnet,… Tuy nhiên, nếu mọi người hay đọc paper từ các hội thảo lớn và xem code họ public kèm trên github thì sẽ thấy chủ yếu các code được viết sử dụng Pytorch hoặc Tensorflow.

So sánh tỉ lệ số lượng paper sử dụng Pytorch và Tensorflow, nguồn.

Tầm 2017-2018 thì số lượng code Tensorflow ở các hội thảo áp đảo Pytorch. Tuy nhiên, đến 2019 thì số lượng này là ngang nhau, còn 2020-2021 thì số lượng Pytorch áp đảo hẳn. Để thấy xu hướng dùng Pytorch áp đảo Tensorflow trong giới researcher.

Mọi người đặt câu hỏi: đấy là bên làm nghiên cứu, thế còn làm sản phẩm thì sao? Ví dụ mọi người làm ứng dụng điểm danh bằng khuôn mặt thì mọi người thường dùng code và pre-trained model của các top paper, sau đó phát triển ứng dụng lên tiếp. Thế nên project của mọi người thường sẽ dùng luôn framework của các paper đó.

Đợt tầm 2019 thì có thể nói là Pytorch hợp hơn cho giới nghiên cứu còn Tensorflow thì hỗ trợ sản phẩm tốt hơn. Tuy nhiên, gần đây Pytorch cũng phát triển để hỗ trợ triển khai sản phẩm như:

  • Torchserve (để serve model, tương tự TensorFlow Serving)
  • Export model sang dạng ONNX và tăng tốc trên môi trường Tensorrt.
  • Torchscript hỗ trợ chạy model trên môi trường C++.

Vậy nên không quá khi nói Pytorch là một trong những Deep Learning framework tốt nhất hiện tại, cho cả làm nghiên cứu lẫn phát triển sản phẩm.

Ý tưởng và mục đích của loạt bài viết này.

Gần đây mình có làm một vài project về Pytorch nên mình muốn chia sẻ kiến thức tới mọi người. Mình sẽ viết chi tiết từ những phần cơ bản nhất của Pytorch như tensor cho đến phần triển khai model đưa ra sử dụng thực tế cho mọi người (deployment). Để cho những người mới chưa sử dụng Pytorch bao giờ cũng có thể hiểu các kiến thức nền tảng của Pytorch, sau đó xây dựng và phát triển ứng dụng với Pytorch.

series Deep Learning cơ bản, mình tập trung vào lý thuyết Deep Learning và code dựa trên Keras. Keras là 1 trong những high-level API framework mà dễ tiếp cận nhất cho người mới bắt đầu. Bằng chứng cho chuyện “tiện” của Keras là Tensorflow bản 2.0 đã tích hợp luôn module Keras vào trong nó. Còn ở series Pytorch lần này, mình tập trung vào giải thích chi tiết cơ chế hoạt động của Pytorch và cách triển khai model Deep Learning ra ngoài thực tế dùng Pytorch.

Nội dung loạt bài viết.

* Nội dung của loạt bài viết có thể bị thay đổi trong quá trình viết.

Code cho series này mọi người xem ở đây.

Mỗi bài mình sẽ giải thích kĩ lý thuyết một cách dễ hiểu cho mọi người và sẽ có các ứng dụng thực tế đi kèm.

Yêu cầu

  • Kiến thức lập trình Python.
  • [Optional] Kiến thức cơ bản về Deep Learning. Nếu mọi người chưa từng học qua Deep Learning thì ở từng bài mình sẽ để phần kiến thức liên quan cho mọi người đọc và tìm hiểu. Hoặc mọi người có thể xem trước series Deep Learning cơ bản, hoặc sách Deep Learning cơ bản của mình.


Deep Learning cơ bản ©2024. All Rights Reserved.
Powered by WordPress. Theme by Phoenix Web Solutions