107 lines
2.4 KiB
Markdown
107 lines
2.4 KiB
Markdown
# 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
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/yourusername/training-monitor.git
|
|
cd training-monitor
|
|
```
|
|
|
|
2. Start the development environment:
|
|
```bash
|
|
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
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
### Backend Development
|
|
```bash
|
|
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:
|
|
|
|
```env
|
|
# 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
|
|
|
|
1. Create a feature branch
|
|
2. Commit your changes
|
|
3. Push to the branch
|
|
4. Create a Pull Request
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |