Một vài công cụ train mô hình
Nếu các bạn đã từng train mô hình deeplearning thì chắc các bạn đã từng copy $1$ model về và tất nhiên model đó đã được tác giả vẽ nên kiến trúc. Vậy nếu các bạn tự tạo nên $1$ kiến trúc (hoặc finetune
) bằng code thì sao? Có thể bạn sẽ khó để hình dung ra kiến trúc dạng biểu đồ từ những dòng code đúng không. Và để thực hiện train mình cũng phải viết pipeline và các hàm loss
, thuật toán optimizer
để tạo được bộ tham số tốt nhất. Hôm nay mình sẽ chia sẻ $1$ vài công cụ khá tốt để giúp các bạn dễ dàng thực hiện $1$ mô hình cho riêng mình mà không cần phải code quá nhiều. Oke, let’s go!
À chờ chút, pipeline thường để train $1$ mô hình deep gồm:
- Load dataset, split ra thành bộ
train
/validation
/test
- Load model, config hyperparameters
- Train model
- Plot biểu đồ đánh giá (
loss
,accuracy
) trong quá trình train (có thể có hoặc không)
TorchStudio
Tìm hiểu $1$ chút thì TorchStudio là $1$ phần mềm open source được ông này và dùng framework chính là pytorch. Có thể xem đây như là giao diện đồ hoạ của pytorch.
Việc cài đặt các bạn cứ theo hướng dẫn của họ là được.
Mình sẽ thử demo $1$ đoạn xem thử như nào.
Đầu tiên vào giao diện sẽ là:
Trông cũng xịn phết 😆
Load dataset
Đầu tiên mình thấy chọn dataset, trên đó đều là những dataset mà pytorch cài sẵn, mình chỉ cần việc load về và dùng thôi. Ngoài ra mình cũng có thể tự custom dataset (GenericLoader) cho project. Các bạn cứ lên trang chủ đọc hướng dẫn là được. Nếu check chọn code
kế bên thì hệ thống tự sinh ra source code load dataset này, việc còn lại là thêm đường dẫn đến data mình để trên máy. Và thực hiện tiếp 1 vài config thì dataset của mình đã được analysis như hình.
Chọn và train mô hình
Sau khi xong phần dataset, bấm nút New Model (có hình dấu cộng trong hình lục giác) ở bên phải tab Dataset để thêm tạo một model mới. TorchStudio có cung cấp vài model mẫu và cũng cho phép chọn các model có sẵn của torchvision.
Sau đó chỉnh lại parameters
rồi train thôi. Kết quả sẽ được biểu diễn ở hình bên.
Sau khi train xong, có thể export model ra dưới dạng TorchScript
hoặc ONNX
nếu muốn.
TeachableMachine
Khác với TorchStudio chạy trên phần mềm tải về thì TeachableMachine chạy trên drive
. Dữ liệu của bạn sẽ được tải lên drive để thực hiện.
Công cụ này dùng framework tensorflow
để build mô hình.
Oke, giờ mình cũng thử thực hiện train 1 mô hình phân loại ảnh gồm 3 lớp cat
, dog
, lion
.
Load dataset
Công cụ này cần bạn phải tự cho data vào có thể là dùng camera
hoặc các file ảnh.
Chọn và train mô hình
Sau khi chuẩn bị dữ liệu xong, thì mình sẽ chỉnh 1 số parameters
rồi thực hiện train.
Theo mình biết thì công cụ này sử dụng thuật
toán KNN
(K-Nearest Neighbors) để
phân loại hình ảnh.
ồ 🤓! con này vẫn ra dog
và chính xác tuyệt đối luôn, quá đỉnh.
Deploy model
Cuối cùng là lưu model và lấy code triển khai bằng cách chọn Export Model
Tổng kết
Vậy là mình đã giới thiệu cho các bạn biết đến $2$ công cụ hỗ trợ các bạn train nhanh $1$ mô hình deep với $2$ framework khác nhau trên $2$ nền tảng.
Nó sẽ giúp các bạn phần nào thời gian để tạo cho mình $1$ mô hình nhanh chóng. Nhưng mình vẫn khuyến khích các bạn tự code pipeline train từ đầu đến cuối để nâng cao skill code cho mình và khả năng đọc code.
Chúc các bạn thành công!!!