slyviee commited on
Commit
edeb773
·
verified ·
1 Parent(s): 63c65a7

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +56 -0
README.md ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Image Captioning
3
+ emoji: 🖼️
4
+ colorFrom: blue
5
+ colorTo: pink
6
+ sdk: gradio
7
+ sdk_version: "4.40.0"
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
+
12
+ # Image Captioning — Hugging Face Space
13
+
14
+ Triển khai inference cho mô hình image captioning bằng TensorFlow/Keras, với giao diện Gradio đơn giản cho upload ảnh và nhận caption.
15
+
16
+
17
+ # Image Captioning — Hugging Face Space
18
+
19
+ Triển khai inference cho mô hình image captioning dùng TensorFlow/Keras, EfficientNetV2B0 và giao diện Gradio.
20
+
21
+ ## Cấu trúc tệp cần có
22
+ ```text
23
+ .
24
+ ├── app.py # UI Gradio cho Hugging Face Space
25
+ ├── flickr30k.py # Logic model + tiền xử lý (đã cung cấp)
26
+ ├── best_model.keras # Trọng số mô hình (đặt cùng thư mục)
27
+ ├── tokenizer.pkl # Tokenizer đã fit
28
+ ├── model_config.pkl # Chứa max_length, vocab_size
29
+ ├── requirements.txt
30
+ └── README.md
31
+ ```
32
+
33
+ Các hàm sử dụng trực tiếp từ `flickr30k.py`: `load_caption_model`, `load_tokenizer_and_config`, `load_feature_extractor`, `extract_features_from_image`, `generate_caption`.
34
+
35
+ ## Chạy cục bộ
36
+ ```bash
37
+ python -m venv .venv
38
+ . .venv/bin/activate # Windows: .venv\Scripts\activate
39
+ pip install --upgrade pip
40
+ pip install -r requirements.txt
41
+
42
+ # Đảm bảo 3 tệp đã có:
43
+ # best_model.keras, tokenizer.pkl, model_config.pkl
44
+
45
+ python app.py
46
+ ```
47
+ Mở URL Gradio hiển thị trong terminal.
48
+
49
+ ## Triển khai lên Hugging Face Spaces
50
+ 1) Tạo Space mới: SDK = Gradio, chọn CPU hoặc GPU tùy trọng số.
51
+ 2) Đẩy các tệp: `app.py`, `flickr30k.py`, `requirements.txt`, `README.md`, và 3 tệp trọng số/cấu hình.
52
+ 3) Sau khi build hoàn tất, Space sẽ mở UI upload ảnh và trả caption.
53
+
54
+ ## Ghi chú tương thích
55
+ - Mặc định dùng `tensorflow==2.12.0`. Nếu bạn dùng trọng số huấn luyện ở phiên bản khác, cần đồng bộ phiên bản TensorFlow/Keras tương ứng.
56
+ - Sử dụng `opencv-python-headless` thay vì `opencv-python` để tránh lỗi GUI trên môi trường server.