Files
ai-training-monitor/README.md
2025-01-22 17:18:02 +01:00

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.