From 3fe1944b98e8762205f806eda5a38d9c7b6cd010 Mon Sep 17 00:00:00 2001 From: Victor Phan Date: Mon, 26 Jan 2026 13:55:18 +0700 Subject: [PATCH] update 01 --- .gitignore | 1 + api_server.py | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 42c3021..931aba3 100644 --- a/.gitignore +++ b/.gitignore @@ -76,6 +76,7 @@ model_train/*.feather model_train/*.db model_train/*.sqlite model_train/*.log +cloud_removal_model/ # VSCode settings .vscode/ diff --git a/api_server.py b/api_server.py index 73ab2ac..b4c912a 100644 --- a/api_server.py +++ b/api_server.py @@ -510,12 +510,12 @@ async def get_cloud_removal_methods(): @app.get("/api/cloud-removal/models") async def list_cloud_removal_models(): """Liệt kê các cloud removal models đã train""" - model_dir = Path("model_train") + model_dir = Path("cloud_removal_model") if not model_dir.exists(): return {"models": [], "count": 0} models = [] - # Search for ALL .pth files in model_train and subdirectories + # Search for ALL .pth files in cloud_removal_model and subdirectories for model_file in model_dir.rglob("*.pth"): # Skip non-cloud-removal models (keep land classification models separate) if any(x in model_file.name.lower() for x in ['mobilenet', 'cnn_', 'swin', 'xgboost', 'random_forest']): @@ -635,7 +635,7 @@ async def train_cloud_removal(config: CloudRemovalTrainingConfig, background_tas num_epochs=config.num_epochs, learning_rate=config.learning_rate, device="cuda" if config.use_gpu else "cpu", - save_dir="model_train" + save_dir="cloud_removal_model" ) print(f"[CLOUD REMOVAL TRAINING] Completed {training_id}") @@ -708,7 +708,7 @@ async def upload_cloud_removal_model( raise HTTPException(status_code=400, detail="Invalid filename") try: - model_dir = Path("model_train") + model_dir = Path("cloud_removal_model") model_dir.mkdir(exist_ok=True) # Save uploaded file @@ -767,7 +767,7 @@ async def upload_cloud_removal_model( @app.delete("/api/cloud-removal/models/{filename}") async def delete_cloud_removal_model(filename: str): """Xóa cloud removal model""" - model_dir = Path("model_train") + model_dir = Path("cloud_removal_model") model_path = model_dir / filename # Security check @@ -1748,7 +1748,7 @@ async def run_prediction(config: PredictionConfig): s2_data, cloud_metadata = process_cloud_removal( s2_data=s2_data, method=cloud_removal_method, - model_path=f"model_train/{cloud_removal_model}" if cloud_removal_model else None, + model_path=f"cloud_removal_model/{cloud_removal_model}" if cloud_removal_model else None, verbose=True )