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:

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:

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:

docker compose build

To start the full stack (FastAPI Backend + Gradio Frontend) securely in the background:

docker compose up -d

To read the live Docker logs (useful for verifying the FastAPI startup):

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.

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.

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.

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.