Repositori ini berfungsi sebagai Transfer Learning Suite. Tujuannya adalah agar dapat dengan mudah melakukan pembelajaran transfer menggunakan model klasifikasi gambar Keras bawaan apa pun! Setiap saran untuk meningkatkan repositori ini atau fitur baru apa pun yang ingin Anda lihat dipersilakan!
Anda juga dapat melihat Rangkaian Segmentasi Semantik saya.
Semua model bawaan Keras tersedia:
Model | Ukuran | Akurasi Teratas 1 | Akurasi 5 Teratas | Parameter | Kedalaman |
---|---|---|---|---|---|
VGG16 | 528 MB | 0,715 | 0,901 | 138.357.544 | 23 |
VGG19 | 549MB | 0,727 | 0,910 | 143.667.240 | 26 |
ResNet50 | 99MB | 0,759 | 0,929 | 25.636.712 | 168 |
Xsepsi | 88 MB | 0,790 | 0,945 | 22.910.480 | 126 |
AwalV3 | 92 MB | 0,788 | 0,944 | 23.851.784 | 159 |
InceptionResNetV2 | 215 MB | 0,804 | 0,953 | 55.873.736 | 572 |
Jaringan Seluler | 17 MB | 0,665 | 0,871 | 4.253.864 | 88 |
Jaringan Padat121 | 33 MB | 0,745 | 0,918 | 8.062.504 | 121 |
Jaringan Padat169 | 57 MB | 0,759 | 0,928 | 14.307.880 | 169 |
Jaringan Padat201 | 80MB | 0,770 | 0,933 | 20.242.984 | 201 |
NASNetMobile | 21 MB | TIDAK | TIDAK | 5.326.716 | TIDAK |
NASNetBesar | 342 MB | TIDAK | TIDAK | 88.949.818 | TIDAK |
main.py: Mode Pelatihan dan Prediksi
utils.py: Fungsi utilitas pembantu
pos pemeriksaan: File pos pemeriksaan untuk setiap zaman selama pelatihan
Prediksi: Hasil prediksi
Proyek ini memiliki dependensi berikut:
Numpy sudo pip install numpy
OpenCV Python sudo apt-get install python-opencv
TensorFlow sudo pip install --upgrade tensorflow-gpu
Keras sudo pip install keras
Satu-satunya hal yang harus Anda lakukan untuk memulai adalah mengatur folder dalam struktur berikut:
├── "dataset_name"
| ├── train
| | ├── class_1_images
| | ├── class_2_images
| | ├── class_X_images
| | ├── .....
| ├── val
| | ├── class_1_images
| | ├── class_2_images
| | ├── class_X_images
| | ├── .....
| ├── test
| | ├── class_1_images
| | ├── class_2_images
| | ├── class_X_images
| | ├── .....
Kemudian Anda cukup menjalankan main.py
! Lihat argumen baris perintah opsional:
usage: main.py [-h] [--num_epochs NUM_EPOCHS] [--mode MODE] [--image IMAGE]
[--continue_training CONTINUE_TRAINING] [--dataset DATASET]
[--resize_height RESIZE_HEIGHT] [--resize_width RESIZE_WIDTH]
[--batch_size BATCH_SIZE] [--dropout DROPOUT] [--h_flip H_FLIP]
[--v_flip V_FLIP] [--rotation ROTATION] [--zoom ZOOM]
[--shear SHEAR] [--model MODEL]
optional arguments:
-h, --help show this help message and exit
--num_epochs NUM_EPOCHS
Number of epochs to train for
--mode MODE Select "train", or "predict" mode. Note that for
prediction mode you have to specify an image to run
the model on.
--image IMAGE The image you want to predict on. Only valid in
"predict" mode.
--continue_training CONTINUE_TRAINING
Whether to continue training from a checkpoint
--dataset DATASET Dataset you are using.
--resize_height RESIZE_HEIGHT
Height of cropped input image to network
--resize_width RESIZE_WIDTH
Width of cropped input image to network
--batch_size BATCH_SIZE
Number of images in each batch
--dropout DROPOUT Dropout ratio
--h_flip H_FLIP Whether to randomly flip the image horizontally for
data augmentation
--v_flip V_FLIP Whether to randomly flip the image vertically for data
augmentation
--rotation ROTATION Whether to randomly rotate the image for data
augmentation
--zoom ZOOM Whether to randomly zoom in for data augmentation
--shear SHEAR Whether to randomly shear in for data augmentation
--model MODEL Your pre-trained classification model of choice