seedling-classifier / python-api /CARA_MELETAKKAN_FILE_MODEL.md
hanya70999's picture
Upload 13 files
72b9a21 verified

πŸ“ Cara Meletakkan File Model Anda

File yang Anda Punya (dari Google Drive)

Dari screenshot yang Anda berikan, Anda memiliki file-file ini:

Output_DenseNetSVM/
β”œβ”€β”€ svm_densenet201_rbf.joblib       (5.2 MB)
β”œβ”€β”€ metadata.json                     (353 byte)
β”œβ”€β”€ features_train_densenet201.csv   (81.1 MB)
β”œβ”€β”€ features_test_densenet201.csv    (10.2 MB)
└── features_val_densenet201.csv     (10.1 MB)

βœ… File yang DIPERLUKAN untuk API

Hanya 2 file ini yang diperlukan:

  1. βœ… svm_densenet201_rbf.joblib - Model SVM Anda
  2. βœ… metadata.json - Informasi tentang kelas

File CSV features TIDAK diperlukan untuk inference/prediksi.

πŸ“‚ Dimana Meletakkan File

Struktur Folder yang Benar:

project/
└── python-api/
    β”œβ”€β”€ app.py
    β”œβ”€β”€ requirements.txt
    β”œβ”€β”€ Dockerfile
    β”œβ”€β”€ README.md
    └── models/                              ← Folder ini
        β”œβ”€β”€ svm_densenet201_rbf.joblib      ← Letakkan file JOBLIB di sini
        └── metadata.json                    ← Letakkan file JSON di sini

Langkah-Langkah:

1. Download File dari Google Drive

Dari folder Output_DenseNetSVM di Google Drive Anda, download:

  • svm_densenet201_rbf.joblib
  • metadata.json

2. Copy ke Folder models/

Cara Manual:

1. Buka folder project Anda
2. Masuk ke folder: python-api/models/
3. Copy kedua file ke folder ini

Via Terminal:

# Dari folder Downloads (atau dimana Anda download file)
cp svm_densenet201_rbf.joblib /path/to/project/python-api/models/
cp metadata.json /path/to/project/python-api/models/

Via Google Colab (jika file masih di Drive):

# Mount Google Drive
from google.colab import drive
drive.mount('/content/drive')

# Copy files ke local download
import shutil

source_dir = "/content/drive/MyDrive/Output_DenseNetSVM"
dest_dir = "/content/models"

# Create folder
!mkdir -p /content/models

# Copy files
shutil.copy(f"{source_dir}/svm_densenet201_rbf.joblib",
            f"{dest_dir}/svm_densenet201_rbf.joblib")
shutil.copy(f"{source_dir}/metadata.json",
            f"{dest_dir}/metadata.json")

# Download ke komputer
from google.colab import files
files.download('/content/models/svm_densenet201_rbf.joblib')
files.download('/content/models/metadata.json')

3. Verifikasi File Ada

Windows:

dir python-api\models

Mac/Linux:

ls -lh python-api/models/

Anda harus melihat:

-rw-r--r--  1 user  staff   5.2M  metadata.json
-rw-r--r--  1 user  staff   353B  svm_densenet201_rbf.joblib

πŸ“ Cek Isi metadata.json

Buka file metadata.json dan pastikan berisi:

{
  "class_names": ["3 Bulan", "6 Bulan", "9 Bulan"],
  "img_size": 224
}

PENTING: Nama kelas harus sama persis dengan yang Anda gunakan saat training!

Jika class_names berbeda (misalnya dalam bahasa Inggris atau format lain), edit file ini sesuai dengan nama kelas asli Anda.

πŸ§ͺ Test Local (Opsional)

Setelah file di tempat, test apakah model bisa diload:

cd python-api

# Install dependencies
pip install -r requirements.txt

# Run server
python app.py

Jika berhasil, Anda akan melihat:

Using device: cpu
βœ“ SVM model loaded successfully
βœ“ Metadata loaded: ['3 Bulan', '6 Bulan', '9 Bulan']
 * Running on http://0.0.0.0:5000

❌ Jika Model Tidak Ditemukan

Jika Anda melihat:

⚠ Model file not found at models/svm_densenet201_rbf.joblib
Using simulation mode until model is uploaded

Checklist:

  • File ada di folder python-api/models/
  • Nama file PERSIS: svm_densenet201_rbf.joblib (case sensitive!)
  • File tidak corrupt (coba download ulang jika perlu)
  • Folder structure benar (lihat diagram di atas)

πŸš€ Setelah File Siap

Sekarang Anda siap untuk deploy! Lanjutkan ke:

  1. Baca README.md untuk instruksi deployment
  2. Atau baca DEPLOYMENT_GUIDE.md untuk panduan lengkap

πŸ’‘ Tips

  1. Backup File Model: Selalu simpan backup di Google Drive
  2. Version Control: Jangan commit file model ke git (sudah ada di .gitignore)
  3. Update Model: Untuk update model, cukup replace file dan restart server
  4. Metadata: Jika mengubah kelas, update metadata.json

πŸ“ž Troubleshooting

File terlalu besar untuk upload

  • Gunakan Git LFS untuk file besar
  • Atau upload langsung ke platform deployment (Hugging Face support large files)

Format file salah

  • Pastikan file dari joblib.dump(), bukan pickle
  • Versi scikit-learn harus kompatibel

Permission denied

  • Check file permissions: chmod 644 models/*.joblib
  • Pastikan Anda punya akses ke folder