Spaces:
Sleeping
Sleeping
Commit History
-
Ajouter MLP baseline, courbes de perte, CV et backbone ImageNet brut
functionNormallySuite aux retours de Marco sur la conception du QCM : - Tab MLP (baseline) avant le CNN pour montrer que le surapprentissage persiste quel que soit le choix d'hyperparametres (nombre de couches, neurones par couche), motivant le passage au CNN - Courbes de perte train/validation par epoque (MLP et CNN) - Backbone ResNet18 remplace par les poids ImageNet d'origine, sans fine-tuning sur le dataset (retire la dependance a HF_BACKBONE_REPO) - Chaque algorithme classique (SVM, LogReg, k-NN, RF) n'expose plus qu'un seul hyperparametre ; LDA retire - Option de validation croisee (CV stratifiee, fallback si classe trop petite) affichant score CV et score test cote a cotee7db87b
-
Restructurer le parcours pédagogique : CNN de zéro puis backbone + ML classique
functionNormallyc7f3e02
-
Ajouter @spaces.GPU à extract_features_callback (ZeroGPU)
functionNormally8e71d97 -
Restructurer l'app : backbone préentraîné + ML classique + FC head + CNN de zéro
functionNormally- Ajout backbone_utils.py : chargement du backbone ResNet18 depuis HF, extraction de features 512-dim avec cache mémoire - Ajout classical_ml_utils.py : SVM / LogReg / k-NN / RF / LDA sur les features extraites (pipeline sklearn avec StandardScaler + joblib) - Refactorisation train_utils.py : train_fc_head (tête FC seule, ~200Ko sauvegardés) et train_cnn (SimpleCNN de zéro) ; evaluate_saved_model unifié pour tous les types - Mise à jour model.py : BackboneWithFC (backbone gelé + tête FC) + SimpleCNN conservé - Mise à jour predict_utils.py : dispatch automatique selon model_type - Mise à jour app.py : 4 onglets (dataset / ML classique / neuronaux / test-prédiction) - Ajout config.py : HF_BACKBONE_REPO, CLASSICAL_MODEL_TYPES - Ajout .gitignore : exclut data/, backbone/, saved_models/, __pycache__/ - Ajout finetune_backbone.py : script local pour entraîner le backbone sur les donnéescdc317a
-
Restaurer les paramètres CNN qui fonctionnaient + epoch max à 50
functionNormally- data_utils.py : augmentation revenue à Resize + flip + rotation 5° - train_utils.py : batch_size par défaut 16 (était 32) - app.py : dropout 0.4, batch 16, epochs max 5015c5bd9 -
Ajouter ResNet18 (layer4 + classifieur) comme option de modèle
functionNormally- model.py : classe ResNet18Classifier restaurée (layer4 + tête FC) - train_utils.py : paramètre model_type, instanciation et config selon le choix - app.py : radio CNN simple / ResNet18, panneau CNN masquable, lr ajusté automatiquement selon le modèle sélectionné5a128ba -
Merge branch 'main' of https://huggingface.co/spaces/CircleStar/Image_Classification
functionNormallyb67cff0 -
Augmentation renforcée, scheduler LR et dropout par défaut 0.5
functionNormally- data_utils.py : RandomResizedCrop, rotation 30°, ColorJitter - train_utils.py : ReduceLROnPlateau (factor=0.5, patience=8, min_lr=lr×0.2), affichage du lr courant dans les logs - app.py : dropout par défaut 0.540062d1 -
Update app.py
ef7bb2d -
Update app.py
b6c6e38 -
Remplacer ResNet18 par un CNN simple configurable
functionNormally- model.py : nouvelle classe SimpleCNN (blocs Conv→BN→ReLU→MaxPool, pooling global adaptatif, classifieur FC) - train_utils.py : paramètres num_conv_blocks, base_filters, kernel_size, use_batchnorm ; lr par défaut 0.001, batch 32 - app.py : interface mise à jour avec les nouveaux contrôles CNNd1c85fc
-
Update app.py
6c9f7c0 -
Update app.py
6cababb -
Update app.py
1649120
-
Update app.py
6237464 -
Update app.py
67f7fce -
Update app.py
7c74741 -
Update app.py
c233348 -
Update app.py
1c9d62c -
Update app.py
7b0a4b1 -
Create app.py
862b49a