Hi, I am

Ngô Tôn

I am a programmer.

Home / AI/ML/DL/DS / Build và Deploy ứng dụng Machine Learning với Docker

Build và Deploy ứng dụng Machine Learning với Docker

Xin chào các bạn, trong bài viết này, NgoTon.IT sẽ hướng dẫn bạn các bạn sử dụng một công cụ phổ biến có tên là Docker để chạy và triển khai mô hình Học máy của bạn.

Docker là gì?

Docker là một nền tảng phần mềm giúp Build và Deploy bất kỳ ứng dụng nào dễ dàng hơn bằng cách tạo Docker Image, sau đó Docker Container sẽ chứa tất cả các packages và dependences mà chúng ta cần để ứng dụng của mình hoạt động sau khi được triển khai.

Docker Container là một môi trường biệt lập chứa tất cả các phụ thuộc bắt buộc để ứng dụng của bạn có thể chạy, nó thường được gọi là phiên bản đang chạy của Docker Image.

Docker Image là một tệp (chỉ đọc), bao gồm nhiều lớp, được sử dụng để thực thi mã trong Docker Container. Docker Image được tìm thấy trong một trung tâm lớn được gọi là Docker Hub.

Lợi ích của Docker:

  • Docker giải quyết vấn đề có một môi trường giống hệt nhau trong các giai đoạn phát triển khác nhau và có các môi trường biệt lập trong các ứng dụng riêng lẻ của bạn.
  • Docker cho phép bạn chạy ứng dụng của mình từ mọi nơi miễn là bạn đã cài đặt docker trên máy đó.
  • Docker cho phép bạn tự do mở rộng quy mô nhanh chóng.
  • Mở rộng nhóm phát triển của bạn một cách dễ dàng.

Việc cài đặt Docker cũng rất đơn giản, có sẵn trên nhiều nền tảng khác nhau cho dù bạn đang sử dụng máy tính Linux, Windows hay Mac, bạn có thể làm theo hướng dẫn cài đặt tại đây. Chi tiết về Docker mình xin hẹn các bạn vào một chủ đề sau nhé.

Build và Deploy ứng dụng Machine Learning với Docker

Bây giờ chúng ta đã hiểu cơ bản về Docker và bạn đã có Docker chạy trên máy của mình, chúng ta hãy tiếp tục và triển khai ứng dụng Máy học với nó.

Cấu trúc thư mục của ứng dụng

app.py là một file python chứa API mình đã tạo cho mô hình Học máy của mình bằng cách sử dụng Flask. Mình đã định nghĩa API endpoint và path, chúng sẽ nhận dữ liệu từ web và được xử lý sau đó kết quả dự đoán được trả về dưới dạng response.
Thư mục ML_Model chứa mô hình Machine Learning, dữ liệu mình đã sử dụng để đào tạo mô hình và file pickle sau khi train mà API sẽ sử dụng.

File requirements.txt chứa tất cả các python packages mà chúng ta cần để ứng dụng của mình chạy. Một số gói mình đã sử dụng là:

Tiếp đến là Dockerfile là một file xác định Docker Image. Bạn sẽ sử dụng Dockerfile để tạo Docker Image tùy chỉnh của riêng mình.

Bây giờ bạn mở Terminal lên chạy lệnh sau để build

Chú ý: Mình đặt tên cho image của mình là “ngoton/ml_model” và đặt thẻ thành 1.0. Chú ý dấu “.” ở cuối lệnh, điều đó có nghĩa là yêu cầu Docker định vị Dockerfile trong thư mục hiện tại của mình, đó là thư mục của dự án chúng ta.

Sau khi Docker build thành công chúng ta sẽ chạy lên thử xem sao

Vậy là mình đã hướng dẫn các bạn cách build và deploy ứng dụng Machine Learning với Docker. Chúc các bạn thành công!

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 7+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Tự động tạo code HTML & CSS từ hình ảnh với Deep Learning

Mục lục Xây dựng mạng nơ-ronPhiên bản đơn giảnPhiên bản nâng caoPhiên bản cuối cùng …

Leave a Reply

avatar
  Subscribe  
Notify of