Downloads · 30 days
0
dcaybe/dcaybe-1.0-8.7m
dcaybe-1.0-8.7m is a machine learning model from dcaybe. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Dự án này được xây dựng dựa trên bộ khung nạp dữ liệu của fashion-mnist, nhưng đã được tùy biến lại hoàn toàn để tải, huấn luyện và sử dụng tập dữ liệu chữ số viết tay MNIST gốc.
Downloads · 30 days
0
Access
Public
Updated Apr 7, 2026
Repo size
106 MB
Likes
0
Public
Click a slice to open those files.
.pth106 MB · 100%
From the Hugging Face model README
Dự án này được xây dựng dựa trên bộ khung nạp dữ liệu của fashion-mnist, nhưng đã được tùy biến lại hoàn toàn để tải, huấn luyện và sử dụng tập dữ liệu chữ số viết tay MNIST gốc.
Sau khi đã lược bỏ các thành phần không cần thiết của fashion-mnist, dự án hiện bao gồm các tập tin cốt lõi:
data/mnist/: Thư mục chứa tập dữ liệu MNIST gốc (tự động tạo ra khi chạy tải dữ liệu).utils/mnist_reader.py: Script dùng để nạp các file nén .gz của dữ liệu vào mảng Numpy. Đây là hàm gốc giữ lại từ repo fashion-mnist.download_mnist.py: Script Python hỗ trợ tải thẳng 4 file dataset của MNIST từ Google Storage.train_mnist.py: Script huấn luyện mô hình Mạng nơ-ron đa tầng (MLP) đơn giản bằng PyTorch.predict.py: Script chạy ứng dụng Web (nhờ thư viện Gradio) cho phép người dùng dùng chuột vẽ số và AI sẽ phỏng đoán theo thời gian thực.mnist_model.pth: File chứa trọng số (weights) của mô hình sau khi huấn luyện.Dự án không yêu cầu cấu hình rườm rà. Bạn chỉ cần cài đặt các thư viện cơ bản cho Deep Learning và Xử lý ảnh (cài trực tiếp trên Python hoặc Cài qua Virtual Environment):
pip install torch numpy scipy Pillow gradio
Chạy script tự động tải 4 tệp tin dữ liệu nén gốc của Yann LeCun từ hệ thống máy chủ lưu trữ (Google Storage mirror) thay vì tự tải tay.
python download_mnist.py
Dữ liệu sẽ được lưu tự động thành các file
.gztrong folderdata/mnist.
Sau khi có dữ liệu, chạy script huấn luyện.
python train_mnist.py
Quá trình phía sau:
utils/mnist_reader.py, chuyển kích cỡ lưới numpy array thành tensor (Batch_size, 1, 28, 28).28*28 -> 512 -> 128 -> 10) được xây dựng.mnist_model.pth.Chạy script để bắt đầu một giao diện Web cho phép bạn tự trực tiếp vẽ số vào:
Để chuyển sang dự án nhận diện tiếng Việt (bao cả chữ cái có dấu và câu dài), bạn thực hiện:
python download_vietnamese_real.pypython train_vn.pypython predict_vn.pyMô hình này sử dụng kiến trúc CRNN (CNN + LSTM) chuyên dụng cho văn bản dài, thay vì chỉ nhận diện từng số đơn lẻ như MNIST. Hệ thống sẽ cung cấp một đường link Localhost (vd:
http://127.0.0.1:7860/).
Một trong những điểm nhấn quan trọng đã được xử lý ở file predict.py là chống nhiễu loạn nét vẽ.
Vấn đề thường gặp: Dữ liệu MNIST khi huấn luyện vốn không phải là những nét vẽ "thô". Chữ dùng để huấn luyện đã được cắt bỏ hết viền thừa, căn chỉnh tỷ lệ 20x20 nằm vừa vặn trong cái hộp 28x28. Nghiêm trọng nhất là chúng được "Dời trọng tâm" (Center of Mass shift). Do đó, khi bạn tự dùng chuột vẽ một nét vào bảng vẽ Gradio (thường là nét mỏng, lệch góc), mô hình sẽ dự đoán hoàn toàn sai lầm.
Cách khắc phục đã được tích hợp:
Khi nhận thông tin từ bảng vẽ, file predict.py làm phẳng mảng hình ảnh và lần lượt thực thi các thuật toán thị giác máy tính:
scipy để tìm Trọng tâm phân bố khối lượng pixel nét vẽ của bạn và bù trừ sao cho cái rốn của chữ số lúc nào cũng nằm chính xác ở tọa độ trung tâm tuyệt đối [14, 14] của ảnh.Nhờ tiền xử lý như vậy, khả năng dự đoán nét bút tự vẽ của bạn có thể nhảy vọt từ những lỗi ngớ ngẩn thành chính xác 99% cho mọi số từ 0 - 9 giống đúng như lúc Test Model!