Skip to content

Tfyourhelp/dog-cat_classification

Repository files navigation

1/ Bài nộp bao gồm: + 2 folder static và templates : cho front-end + 2 file .py predict và app : cho back-end + 1 file .ipynd : để train và tham chiếu mô hình phân loại dog và cat + 1 file best_score.pth là checkpoint của mô hình,1 file best_score.json chứa các thông tin của checkpoint + 1 folder mẫu bộ dữ liệu classify_data

2/ Một số thông tin về mô hình phân loại ảnh: - Mô hình được chọn là VGG16 , có đầu ra gồm 2 class dog(0) và cat(1) . Mô hình VGG16 được pretrained trên tập ImageNet - Thông số trainning: Batchsize = 16 , hàm tối ưu Adam , sử dụng Cross Entropy Loss , độ chính xác Top1 Accuracy - Bộ dữ liệu bao gồm 3 bộ : Đào tạo (24000 ảnh) , Đánh giá (1000 ảnh) , Thực nghiệm (12500 ảnh). - Ảnh được train trong 5 epoch , độ chính xác Top1 Accuracy cao nhất tại epoch 3 = 0.981 cho tập val bao gồm 1000 ảnh

3/ Kiến trúc của các folder bộ dữ liệu như sau:

                    classify_data
                            train
                                cat.1.jpg
                                cat.2.jpg
                                cat.3.jpg
                                ...
                                cat.n.jpg
                            
                            val
                                dog.1.jpg
                                dog.2.jpg
                                ...
                                cat.n.jpg
                            
                            test
                                1.jpg
                                2.jpg
                                3.jpg

--> tập train và tập val tên của đường dẫn ảnh phải có label trong đó --> ví dụ ảnh là dog thì tên phải là dog.x.jpg , ảnh là cat thì tên phải là cat.x.jpg --> tập test có thể tên bất kì --> trong các foldert train,val,test chỉ có ảnh , không có file khác ngoài ảnh và các file ảnh phải có đuôi .jpg hoặc .png

5/ - Để đào tạo thử trên bộ dữ liệu tự có: Thiết kế folder bộ dữ liệu tương tự như kiến trúc trên Chạy file ipydn từ đầu đến mục RUN , truyền vào các thông số config mong muốn

- Để inference ảnh:
Chạy file ipydn mục Infenrence và Feed a Img_Path:
Truyền vào thông số config đường dẫn checkpoint và đường dẫn ảnh img_path 

- Để chạy WebApp local sử dụng framework Flask:
Chạy file app.py

6/ Các thông số config: cfg = { 'SEED': 42, # cho seeding

'DATASET':
{    
    'train_datadir': '/kaggle/input/qqqqqqq/classfy_data/train', # đường dẫn tập train
    'val_datadir' : '/kaggle/input/qqqqqqq/classfy_data/val',  # đường dẫn tập val
    'test_datadir': '/kaggle/input/qqqqqqq/classfy_data/test1', # đường dẫn tập test
    'image_size': 512  # kích thước ảnh đầu vào của mạng
},

'DATALOADER':
{
    'batch_size': 16, 
    'num_workers': 0
},

'NETWORK':
{
    'use_pretrained': True # có pretrained cho mạng hay không
},

'TRAIN':
{
    'num_epochs': 5,  # tổng số epoch đào tạo
},

'OPTIMIZER': # tối ưu cho adam
{
    'optim_name': 'adam',
    'lr': 0.0001,
    'weight_decay': 0.00001,
    'momentum': 0.9
},
'LOG':
{
    'eval_interval': 1  # sau bao nhiêu epoch thì đánh giá 1 lần
},
'RESULT':
{
    'savedir': 'saving'
},

'checkpoint' : 'best_score.pth', # đường dẫn cho file checkpoint
'img_path': 'classify_data/test1/3.jpg # đường dẫn để tham chiếu ảnh

}

Download checkpoint best_score.pth https://drive.google.com/file/d/1STg3QxXwuOHEmmole1aPMmD9XaWen_wO/view?usp=sharing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published