Spaces:
Sleeping
Sleeping
File size: 1,526 Bytes
93cdb63 a1909f8 93cdb63 a1909f8 93cdb63 ab13e5c 93cdb63 c72538b 91fadd5 a1909f8 cdc317a e7db87b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
MODEL_DIR = os.path.join(BASE_DIR, "saved_models")
META_DIR = os.path.join(BASE_DIR, "saved_models_meta")
FIGURE_DIR = os.path.join(BASE_DIR, "saved_figures")
os.makedirs(MODEL_DIR, exist_ok=True)
os.makedirs(META_DIR, exist_ok=True)
os.makedirs(FIGURE_DIR, exist_ok=True)
HF_DATASET_REPO = os.environ.get("HF_DATASET_REPO", "CircleStar/charcoal-microscopy")
HF_TOKEN = os.environ.get("HF_TOKEN")
def _sanitize_session_id(session_id: str) -> str:
"""Un session_hash Gradio est déjà un identifiant sûr, mais on filtre par
prudence pour ne jamais laisser un caractère de traversée de chemin
(../) atteindre os.path.join."""
safe = "".join(c for c in (session_id or "") if c.isalnum() or c in "-_")
return safe or "default"
def session_model_dir(session_id: str) -> str:
"""Répertoire des poids/pipelines pour UNE session de navigateur — isole
les modèles entraînés par un·e étudiant·e de ceux des autres, qui
partagent pourtant le même Space Gradio."""
d = os.path.join(MODEL_DIR, _sanitize_session_id(session_id))
os.makedirs(d, exist_ok=True)
return d
def session_meta_dir(session_id: str) -> str:
d = os.path.join(META_DIR, _sanitize_session_id(session_id))
os.makedirs(d, exist_ok=True)
return d
IMAGE_SIZE = 224
RANDOM_SEED = 42
DATASET_DISPLAY_NAME = "Images microscopiques de charbons de bois"
CLASSICAL_MODEL_TYPES = frozenset({"svm", "logreg", "knn", "rf"})
CV_FOLDS = 3
|