Signed-off-by: Felipe Cardoso <felipe.cardoso@hotmail.it>
Training Monitor
Real-time monitoring system for ML training processes, specialized for diffusion model training visualization.
Features
- Real-time training progress visualization
- Training metrics monitoring (loss, learning rate, ETA)
- Sample image gallery with timeline view
- Remote SFTP data source integration
- Docker-based deployment
Project Structure
training-monitor/
├── frontend/ # React frontend application
│ ├── src/
│ ├── public/
│ ├── Dockerfile
│ └── package.json
├── backend/ # FastAPI backend application
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── core/ # Core functionality
│ │ ├── models/ # Data models
│ │ └── services/ # Business logic
│ ├── tests/
│ └── Dockerfile
├── docker/
│ └── docker-compose.yml
└── scripts/ # Utility scripts
Tech Stack
-
Frontend: React (v18+)
- Tailwind CSS for styling
- React Query for data fetching
- React Router for navigation
-
Backend: FastAPI
- Paramiko for SFTP operations
- Pydantic for data validation
- SQLAlchemy for database (if needed)
Setup Instructions
- Clone the repository:
git clone https://github.com/yourusername/training-monitor.git
cd training-monitor
- Start the development environment:
docker-compose up --build
The application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
Development
Frontend Development
cd frontend
npm install
npm run dev
Backend Development
cd backend
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements.txt
uvicorn app.main:app --reload
Configuration
Create a .env file in the root directory:
# Backend
SFTP_HOST=42.42.42.42
SFTP_USER=username
SFTP_PASSWORD=your_password
SFTP_PATH=/data/samples
# Frontend
REACT_APP_API_URL=http://localhost:8000
Contributing
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Languages
TypeScript
54.8%
Python
44.3%
JavaScript
0.5%
CSS
0.3%