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 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
-
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 -
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 model.py
033fb72 -
Update model.py
7fcff1a -
Update model.py
b9a0c51 -
Create model.py
61ce884