This repository contains a GAN (Generative Adversarial Network) implementation trained on the MNIST dataset, with MLflow experiment tracking and a GitHub Actions CI pipeline.
assignment/
├── student_A/
│ ├── student_a_gan.py # Original GAN script (Student A)
│ ├── requirements.txt # Python dependencies for Student A
│ ├── Dockerfile # Docker image for Student A's script
│ └── env.yaml # Conda environment definition
├── Student_B/
│ ├── student_a_gan.py # Reproducibility-improved GAN script
│ └── report.md # Student B's MLOps/SRE analysis report
├── student_a_gan_mlflow.py # Enhanced GAN with MLflow experiment tracking (5 runs)
├── docker-compose.yml # Docker Compose configuration
├── requirements.txt # Root-level Python dependencies for CI
└── .github/
└── workflows/
└── ml_pipeline.yml # GitHub Actions CI pipeline
The GitHub Actions workflow (ml_pipeline.yml) runs on every push to any branch except main. It:
- Checks out the code
- Sets up Python 3.10
- Installs dependencies from
requirements.txt - Runs
flake8linting (max line length: 120) - Uploads
README.mdas a GitHub Actions artifact namedproject-doc
cd student_A
pip install -r requirements.txt
python student_a_gan.pypip install -r requirements.txt
python student_a_gan_mlflow.pymlflow ui
# Open http://localhost:5000docker-compose up --build| Package | Version |
|---|---|
| pandas | 2.1.1 |
| numpy | 1.26.0 |
| torch | 2.1.0 |
| mlflow | latest |
| torchvision | latest |
| flake8 | latest |