pneumoops / COMMANDS.md
Prakhar54-byte's picture
Deploy build-f230daf
50d6286 verified
|
Raw
History Blame Contribute Delete
2.65 kB
# PneumoOps: Operations & Deployment Runbook
This document contains all the essential commands for training, monitoring, deploying, and testing the PneumoOps pipeline.
---
## 1. Local Training & Monitoring
Because the model is training in the background using `nohup` (No Hangup), **you can safely close your laptop or disconnect from the server.** The training process is detached from your local session and will continue running strictly on the server until it finishes 15 epochs.
**To check the live training progress at any time:**
```bash
tail -f training.log
```
*(Press `Ctrl+C` to exit the live view. The training will continue running behind the scenes.)*
**If you need to manually stop the background training:**
```bash
pkill -f train_chestmnist.py
```
---
## 2. Docker Deployment (With Cybersecurity Patches)
The `Dockerfile` has been hardened to drop root privileges (`appuser`) and automatically fetch the newest OS security patches upon building.
**To build the secure container image:**
```bash
docker compose build
```
**To start the full stack (FastAPI Backend + Gradio Frontend) securely in the background:**
```bash
docker compose up -d
```
**To read the live Docker logs (useful for verifying the FastAPI startup):**
```bash
docker compose logs -f
```
*(Note: Because of GitHub Actions, pushing to the `master` branch will automatically run this build and deploy the containers to your Hugging Face space!)*
---
## 3. Testing the Live Deployment
Once the Docker containers are running (locally or on Hugging Face), you can probe them to test both Data Science metrics and DevOps/Platform performance.
### A. Testing API Health & Model Statistics
Check what profiles and models the backend is serving, and view the embedded Brier scores.
```bash
curl -s http://127.0.0.1:7860/health | jq
```
### B. Triggering a Prediction (A/B Test + Drift Monitor)
Pass a Chest X-ray image to the pipeline to see the A/B test router in action. The response will explicitly return the `drift_status` ("NORMAL" or "DRIFT_DETECTED") depending on statistical distribution checks.
```bash
curl -X POST -F "file=@Screenshot_or_Xray.png" http://127.0.0.1:7860/predict
```
### C. Scraping Platform DevOps Metrics
Standard enterprise observability. Pull the raw Prometheus text logs to visualize live deployment performance.
```bash
curl -s http://127.0.0.1:7860/metrics | grep "pneumoops"
```
You should actively look for:
* `pneumoops_inference_latency_ms`: To compare PyTorch baseline speed vs ONNX optimizations.
* `pneumoops_disease_predictions_total`: To see which of the 14 multi-label diseases are most frequently diagnosed.