How areefurrahman/mlab works
This is a web-based machine-learning platform for running classic algorithm experiments, comparing results, managing datasets, and executing pretrained inference tasks. The principal supported workflow is inference: a user submits inputs through the web app, the backend creates a run, dispatches asynchronous work, and returns status and results for display. The tree also shows experiment, dataset, comparison, and history subsystems, but their internal wiring was not sampled; those branches are represented without speculative call chains.
Main entry points: inference_service.py Inference service · InferencePage.jsx Inference page · inference_tasks.py Inference worker task · inference.py Inference endpoints
Components 27
Web app
- App routes
frontend/src/routes/AppRoutes.jsx - Inference page
frontend/src/pages/InferencePage.jsx - Run polling
frontend/src/hooks/useInferencePolling.js - Inference API client
frontend/src/api/inferenceApi.js - Inference results
frontend/src/components/inference
Backend API
- Inference endpoints
backend/app/api/inference.py - Inference service
backend/app/services/inference_service.py - Experiment endpoints
backend/app/api/experiments.py - Experiment service
backend/app/services/experiment_service.py - Dataset endpoints
backend/app/api/datasets.py - Dataset service
backend/app/services/dataset_service.py - Comparison endpoints
backend/app/api/comparisons.py - Comparison service
backend/app/services/comparison_service.py - History service
backend/app/services/history_service.py
ML runtime
- Algorithm runtime
backend/app/ml/algorithms - Preprocessing and metrics
backend/app/ml/preprocessing.py - Inference registry
backend/app/ml/inference_registry.py - Inference task strategies
backend/app/ml/inference_tasks - Inference base
backend/app/ml/inference_base.py
Persistence and jobs
- Inference runs
backend/app/models/inference_run.py - Experiment records
backend/app/models/experiment.py - Dataset records
backend/app/models/dataset.py - Comparison records
backend/app/models/comparison_group.py - Inference worker task
backend/app/tasks/inference_tasks.py - Celery queue
backend/app/celery_app.py - Celery worker
backend/celery_worker.py
Other components
- User
Connections 17
- User → App routes: uses
- App routes → Inference page: routes to
- Inference page → Inference API client: requests tasks and runs
- Inference page → Run polling: polls run
- Run polling → Inference API client: fetches status
- Inference API client → Inference endpoints: HTTP requests
- Inference endpoints → Inference service: creates and reads runs
- Inference service → Inference runs: reads and writes
- Inference service → Inference registry: resolves task
- Inference endpoints → Inference worker task: dispatches run
- Inference worker task → Celery queue: queued by
- Celery queue → Celery worker: delivers jobs
- Celery worker → Inference worker task: executes
- Inference worker task → Inference service: executes run
- Inference service → Inference task strategies: runs strategy
- Inference task strategies → Inference base: implements
- Inference page → Inference results: displays output