llm / app.py
abersbail's picture
Replace llm Space with DIPAug project hub
9c2e807 verified
from pathlib import Path
import gradio as gr
import yaml
PROJECT_ROOT = Path(__file__).resolve().parent
def list_configs() -> list[str]:
return sorted(str(path.relative_to(PROJECT_ROOT)).replace("\\", "/") for path in PROJECT_ROOT.glob("configs/**/*.yaml"))
def show_config(config_name: str) -> str:
if not config_name:
return "Select a config."
path = PROJECT_ROOT / config_name
data = yaml.safe_load(path.read_text(encoding="utf-8"))
return yaml.safe_dump(data, sort_keys=False)
with gr.Blocks(title="DIPAug Project Hub") as demo:
gr.Markdown(
"""
# DIPAug Project Hub
**Project Title**
Realistic Digital Image Processing-Driven Data Augmentation for Robust Wheat Leaf Disease Classification and Severity Scoring in Field Conditions
**Short Titles**
- `DIPAug-Net`
- `DIPAug-SeverNet`
This Hugging Face app is a lightweight dashboard for the project scaffold. It helps inspect the experiment configs and repository structure before training on a proper GPU machine.
"""
)
with gr.Row():
with gr.Column(scale=2):
config_input = gr.Dropdown(label="Experiment Config", choices=list_configs(), value="configs/phase1/e6_full.yaml")
config_output = gr.Code(label="YAML", language="yaml", value=show_config("configs/phase1/e6_full.yaml"))
with gr.Column(scale=2):
gr.Markdown(
"""
## Included Modules
- `dipauglib.transforms`: 8 physics-aware augmentations
- `dipauglib.schedulers`: adaptive augmentation scheduler
- `dipauglib.sampling`: class-imbalance-aware sampling
- `dipaugnet`: phase 1 classification pipeline
- `dipaugsevernet`: phase 2 segmentation and severity scaffold
## Status
- repository scaffold: ready
- configs: ready
- tests: included
- full training runs: not executed in this dashboard
"""
)
config_input.change(fn=show_config, inputs=[config_input], outputs=[config_output])
if __name__ == "__main__":
demo.launch()