Nach dem Checkout zunächst die conda Umgebung erstellen und aktivieren:
git clone https://github.com/datanizing/datascienceday.git
cd datascienceday
cd 08_MLOps
conda env create -f environment.yml
conda activate mlops
Unter Linux Systemen die Berechtigungen für die gemounteten Volumes anpassen:
chmod -R o+w docker-compose/
Damit nun die DVC Dateien getrackt werden, den untersten markierten Abschnitt der [.gitignore] auskommentieren.
docker-compose build
docker-compose up
In Minio ein Bucket titanic anlegen.
dvc init
dvc remote add -d minio s3://titanic/dvcrepo
dvc remote modify minio endpointurl http://localhost:9000
dvc remote modify --local minio access_key_id minio-access-key
dvc remote modify --local minio secret_access_key minio-secret-key
Daten laden als dvc Stage anlegen und ausführen:
dvc run -n load_data --force -o ../data/interim/train_df.pkl -o ../data/interim/test_df.pkl -o ../data/interim/outlier_df.pkl -d load_data.pct.py -w notebooks python load_data.pct.py
python app.py
Während die Model API läuft, folgendes ausführen:
openapi-python-client generate --url http://127.0.0.1:8080/openapi.json
Voraussetzung:
- lokale Docker Installation
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.modelapi.yml up
API: http://localhost:8080/docs
Inspired by Jeremy Jordan A simple solution for monitoring ML systems.