How camthink-ai/ne301-model-converter works
NE301 Model Converter is a browser-based workflow for converting PyTorch YOLO models into NE301 .bin files. Users provide a model, class definitions, optional calibration data, and conversion settings; the frontend starts a task, displays live progress and logs, and downloads the result. The backend validates uploads, tracks tasks, and delegates conversion to a Docker-based NE301 toolchain. Setup checks, task/performance reporting, configuration, and NE301 diagnostics are supporting capabilities. Edges are limited to README statements and shown source references; some toolchain internals are unsampled.
Main entry points: main.py FastAPI application · docker_adapter.py Docker conversion toolchain · HomePage.tsx Conversion page · task_manager.py Task manager
Components 26
Conversion interface
- Conversion page
frontend/src/pages/HomePage.tsx - Model and data uploads
frontend/src/components/upload - Conversion controller
frontend/src/hooks/useConversion.ts - API client
frontend/src/services/api.ts - Progress and logs
frontend/src/components/monitor - Conversion state
frontend/src/store/app.ts - Setup page
frontend/src/pages/SetupPage.tsx - Page router
frontend/src/App.tsx
HTTP and task APIs
- FastAPI application
backend/app/main.py - Conversion endpoint
backend/app/api/convert.py - Task and result endpoints
backend/app/api/tasks.py - WebSocket endpoint
backend/app/api/websocket.py - Setup endpoint
backend/app/api/setup.py
Conversion runtime
- Task manager
backend/app/core/task_manager.py - Docker conversion toolchain
backend/app/core/docker_adapter.py - Converter adapter
backend/app/core/converter.py - NE301 configuration
backend/app/core/ne301_config.py - Performance monitor
backend/app/core/performance_monitor.py
Setup and diagnostics
- Environment detection
backend/app/core/environment.py - TFLite quantization tool
backend/tools/quantization/tflite_quant.py - Binary diagnostics
backend/tools/diagnose_bin_file.py
Shared contracts
- Runtime settings
backend/app/core/config.py - API and task schemas
backend/app/models/schemas.py
Other components
- Operator
- Docker and NE301 tools
- Web browser
Connections 35
- Operator → Web browser: uses
README.md - Web browser → Conversion page: opens
- Page router → Conversion page: routes to
frontend/src/App.tsx - Page router → Setup page: routes to
frontend/src/App.tsx - Conversion page → Model and data uploads: renders
frontend/src/pages/HomePage.tsx - Conversion page → Conversion controller: starts and controls
frontend/src/pages/HomePage.tsx - Conversion page → Conversion state: reads and updates
frontend/src/pages/HomePage.tsx - Conversion page → Progress and logs: renders
frontend/src/pages/HomePage.tsx - Conversion controller → API client: calls
frontend/src/hooks/useConversion.ts - Conversion controller → Web browser: opens WebSocket
frontend/src/hooks/useConversion.ts - API client → FastAPI application: sends HTTP requests
README.md - Web browser → FastAPI application: HTTP and WebSocket
README.md - FastAPI application → Conversion endpoint: registers route
backend/app/main.py - FastAPI application → Setup endpoint: registers route
backend/app/main.py - FastAPI application → Task and result endpoints: registers route
backend/app/main.py - FastAPI application → WebSocket endpoint: registers route
backend/app/main.py - Conversion endpoint → API and task schemas: validates input
backend/app/api/convert.py - Conversion endpoint → Task manager: creates task
backend/app/api/convert.py - Conversion endpoint → Docker conversion toolchain: runs conversion
backend/app/api/convert.py - Docker conversion toolchain → Docker and NE301 tools: runs in container
README.md - Docker conversion toolchain → Runtime settings: reads settings
backend/app/core/docker_adapter.py - Docker conversion toolchain → NE301 configuration: uses configuration
backend/app/core/docker_adapter.py - Docker conversion toolchain → Performance monitor: records metrics
backend/app/core/docker_adapter.py - Docker conversion toolchain → Task manager: updates task
backend/app/core/docker_adapter.py - Converter adapter → Docker conversion toolchain: delegates
backend/app/core/converter.py - Task manager → WebSocket endpoint: broadcasts updates
backend/app/api/websocket.py - WebSocket endpoint → Web browser: sends live updates
README.md - Task and result endpoints → Task manager: reads task state
backend/app/api/tasks.py - Task and result endpoints → Performance monitor: queries metrics
backend/app/api/tasks.py - Task and result endpoints → Web browser: serves result
- Setup endpoint → Environment detection: checks environment
backend/app/api/setup.py - Environment detection → Docker conversion toolchain: checks Docker
backend/app/core/environment.py - Environment detection → API and task schemas: returns status
backend/app/core/environment.py - FastAPI application → Runtime settings: loads settings
backend/app/main.py - FastAPI application → Task manager: initializes loop
backend/app/main.py