diff --git a/IUM_08.MLFlow.ipynb b/IUM_08.MLFlow.ipynb
index 9efe928..86ad396 100644
--- a/IUM_08.MLFlow.ipynb
+++ b/IUM_08.MLFlow.ipynb
@@ -8,7 +8,7 @@
}
},
"source": [
- "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "## ![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"
\n",
"
Inżynieria uczenia maszynowego
\n",
" 8. MLFlow [laboratoria]
\n",
@@ -73,7 +73,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "slide"
@@ -88,7 +88,16 @@
},
{
"cell_type": "code",
- "execution_count": 80,
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!mkdir -p IUM_08/examples/sklearn_elasticnet_wine/"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "slide"
@@ -190,6 +199,7 @@
" mlflow.log_metric(\"mae\", mae)\n",
" \n",
" # Infer model signature to log it\n",
+ " # Więcej o sygnaturach: https://mlflow.org/docs/latest/models.html?highlight=signature#model-signature\n",
" signature = mlflow.models.signature.infer_signature(train_x, lr.predict(train_x))\n",
"\n",
" tracking_url_type_store = urlparse(mlflow.get_tracking_uri()).scheme\n",
@@ -948,7 +958,7 @@
"source": [
"# Zadania [10p pkt]\n",
"1. Dodaj do swojego projektu logowanie parametrów i metryk za pomocą MLflow (polecenia `mlflow.log_param` i `mlflow.log_metric`\n",
- "2. Dodaj plik MLProject definiujący polecenia do trenowania i testowania, ich parametry wywołania oraz środowisko (użyj zdefiniowanego wcześniej obrazu Docker)"
+ "2. Dodaj plik MLProject definiujący polecenia do trenowania i testowania, ich parametry wywołania oraz środowisko (Conda albo Docker)"
]
},
{
@@ -1390,7 +1400,7 @@
}
},
"source": [
- "## Zadania\n",
+ "## Zadania (termin: 14.05 EOD) \n",
"1. [2 pkt] Dodaj do joba treningowego wywołania MLflow, tak, żeby przy każdym uruchomieniu stworzyć i zarchiwizować katalog z modelem. Plik MLmodel powinien zawierać pola:\n",
" - signature\n",
" - input_example\n",
@@ -1425,6 +1435,10 @@
" - CLI: `export MLFLOW_TRACKING_URI=http://172.17.0.1:5000`\n",
" \n",
"- Żeby klient MLflow działający w kontenerze docker mógł zapisywać i pdczytywać artefakty, muszą Państwo podmonotwać katalog `/tmp/mlruns` i `/mlruns` (ten drugi po to, żeby po restarcie serwera katalog nie został wyczyszczony)\n",
+ " - jak podmontować: ```docker.image('my-image').inside('-v /tmp/mlruns:/tmp/mlruns' -v /mlruns:/mlruns')```\n",
+ " - Przykład działąjącego joba na Jenkinsie zapisującego wyniki do MLFlow: https://tzietkiewicz.vm.wmi.amu.edu.pl:8081/job/gitea-test/job/ium-helloworld/job/master/\n",
+ " - Repo: https://git.wmi.amu.edu.pl/tzietkiewicz/ium-helloworld/src/branch/master\n",
+ "\n",
"- Proszę ustawić nazwę eksperymentu na numer indeksu, dzięki temu każdy z Państwa będzie widział swoje eksperymenty oddzielnie:\n",
"`mlflow.set_experiment(\"s123456\")`"
]
@@ -1435,7 +1449,7 @@
"celltoolbar": "Slideshow",
"email": "tomasz.zietkiewicz@amu.edu.pl",
"kernelspec": {
- "display_name": "Python 3 (ipykernel)",
+ "display_name": "Python 3",
"language": "python",
"name": "python3"
},
@@ -1450,7 +1464,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.4"
+ "version": "3.9.12"
},
"slideshow": {
"slide_type": "slide"