From a3cc2c050a97507f5933a01dd186d0756ec71c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Zi=C4=99tkiewicz?= Date: Mon, 19 Apr 2021 11:49:31 +0200 Subject: [PATCH 1/3] Update --- IUM_06.Jenkins-2.ipynb | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/IUM_06.Jenkins-2.ipynb b/IUM_06.Jenkins-2.ipynb index 6d04dad..fe67f42 100644 --- a/IUM_06.Jenkins-2.ipynb +++ b/IUM_06.Jenkins-2.ipynb @@ -136,7 +136,11 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, "source": [ "## Git parameter plugin\n", "- https://plugins.jenkins.io/git-parameter/\n", @@ -148,7 +152,11 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, "source": [ "## Email extension plugin\n", "- https://plugins.jenkins.io/email-ext/\n", @@ -169,13 +177,13 @@ } }, "source": [ - "## Zadanie 1 [8 pkt]\n", + "## Zadanie 1 [5 pkt]\n", "1. Stwórz na Jenkins projekt typu Multibranch pipeline o nazwie s123456-training\n", - " Projekt ten powinien przeprowadzać trenowanie modelu korzystając z kodu przygotowanego na poprzednich zajęciach. Trenowanie powinno odbywać się wewnątrz kontenera docker. [2pkt]\n", - "2. Projekt powinien odpalać się automatycznie po zakończonym budowaniu projektu s123456-create-dataset i kopiować z niego zbiór danych [1pkt]\n", - "3. Po zakończeniu trenowania powstały model powinien zostać zarchiwizowany [1pkt]\n", - "4. Trenowanie modelu potrafi zająć bardzo dużo czasu. Sprawdzanie co 10 minut, czy już się zakończyło, to zły pomysł. Dodaj powiadomienie (wysyłane przez email na Teamsowy kanał \"Powiadomienia z Jenkins\") o zakończonym jobie zawierające rezultat (Status builda - successfull, failed, aborted itd) [2pkt]\n", - "5. Dodaj parametr umożliwiający przekazanie do skryptu trenującego parametrów trenowania. Najprościej zrobić to dodając parametr typu String i doklejać jego wartość do wywołania skryptu trenującego. [8pkt]" + " Projekt ten powinien przeprowadzać trenowanie modelu korzystając z kodu przygotowanego na poprzednich zajęciach. Trenowanie powinno odbywać się wewnątrz kontenera docker. [1 pkt]\n", + "2. Projekt powinien odpalać się automatycznie po zakończonym budowaniu projektu s123456-create-dataset i kopiować z niego zbiór danych [1 pkt]\n", + "3. Po zakończeniu trenowania powstały model powinien zostać zarchiwizowany [1 pkt]\n", + "4. Trenowanie modelu potrafi zająć bardzo dużo czasu. Sprawdzanie co 10 minut, czy już się zakończyło, to zły pomysł. Dodaj powiadomienie (wysyłane przez email na Teamsowy kanał \"Powiadomienia z Jenkins\") o zakończonym jobie zawierające rezultat (Status builda - successfull, failed, aborted itd) [1 pkt]\n", + "5. Dodaj parametr umożliwiający przekazanie do skryptu trenującego parametrów trenowania. Najprościej zrobić to dodając parametr typu String i doklejać jego wartość do wywołania skryptu trenującego. [1 pkt]" ] }, { @@ -186,13 +194,13 @@ } }, "source": [ - "## Zadanie 2 [18pkt]\n", + "## Zadanie 2 [15 pkt]\n", "1. Stwórz na Jenkins projekt typu Multibranch pipeline o nazwie s123456-evaluation.\n", " Projekt ten będzie przeprowadzał ewaluację modelu stworzonego w s123456-training na danych ze zbioru trenującego [1pkt]\n", - "2. Ewaluacja polega na wyliczeniu zbiorczych metryk (1-3 metryki) na zbiorze testującym (np. Accuracy, Micro-avg precission/recall, F1, RMSE - patrz [wykład 4. \"Metody ewaluacji\"])(https://git.wmi.amu.edu.pl/AITech/aitech-uma/src/branch/master/wyk/04_Metody_ewaluacji.ipynb) z przedmiotu Uczenie Maszynowe), zapisaniu metryk(i( do pliku i zarchiwizowaniu go [4 pkt]\n", + "2. Ewaluacja polega na wyliczeniu zbiorczych metryk (1-3 metryki) na zbiorze testującym (np. Accuracy, Micro-avg precission/recall, F1, RMSE - patrz [wykład 4. \"Metody ewaluacji\"])(https://git.wmi.amu.edu.pl/AITech/aitech-uma/src/branch/master/wyk/04_Metody_ewaluacji.ipynb) z przedmiotu Uczenie Maszynowe), zapisaniu metryk(i( do pliku i zarchiwizowaniu go [3 pkt]\n", "3. W celu śledzenia zmian wartości metryk, zapisuj wartości kumulatywnie w jednym pliku. Żeby to osiągnąć można: \n", " - zapisywać metryki w ścieżce zewnątrznej w stosunku do Jenkinsa (w innym przypadku mogą zostać nadpisane np. podczas checkout repozytorium) - tej opcji nie wykorzystamy\n", - " - dopisywać metrykę do końca pliku skopiowanego z artefaktów poprzedniego builda (należy uczynić kopiowanie tego artefaktu opcjonalnym, żeby pierwszt build na danym branchu nie \"wywalił się\" przy próbie skopiowania artefaktów z nieistniejącego joba) [3 pkt]\n", + " - dopisywać metrykę do końca pliku skopiowanego z artefaktów poprzedniego builda (należy uczynić kopiowanie tego artefaktu opcjonalnym, żeby pierwszt build na danym branchu nie \"wywalił się\" przy próbie skopiowania artefaktów z nieistniejącego joba) [2 pkt]\n", "4. Mając skumulowane wartości metryk z wszystkich dotychczasowych buildów, stwórz wykres: na osi X numer builda, na osi Y wartość metryk(i). [3 pkt]\n", " Możesz w tym celu użyć:\n", " - pluginu [plot](https://plugins.jenkins.io/plot)\n", @@ -201,9 +209,9 @@ "5. Projekt powinien odpalać się automatycznie po zakończonym trenowaniu i kopiować model z artefaktów [1pkt]\n", "6. Dane testujące powinny być skopiowane z projektu s123456-create-dataset [1pkt]\n", "7. Dodaj parametry umożliwiające wybór:\n", - " - gałęzi (branch) projektu s123456-training z której ma być skopiowany model. Można by tutaj użyć prostego parametru typu String, ale użyh łatwiejszego (w użytkowaniu) parametru typu \"Git parameter\" (patrz wyżej)[2pkt]\n", + " - gałęzi (branch) projektu s123456-training z której ma być skopiowany model. Można by tutaj użyć prostego parametru typu String, ale użyh łatwiejszego (w użytkowaniu) parametru typu \"Git parameter\" (patrz wyżej)[2 pkt]\n", " - numeru builda projektu s123456-training (\"Build selector for Copy artifact\", patrz zajęcia 3.) [1pkt]\n", - "8. Ewaluacja modelu potrafi zająć dużo czasu. Sprawdzanie co 10 minut, czy już się zakończyła, to zły pomysł. Dodaj powiadomienie o zakończonej ewaluacji zawierające status builda oraz wynik ewaluacji (wartość obliczonej metryki) [2pkt]" + "8. Ewaluacja modelu potrafi zająć dużo czasu. Sprawdzanie co 10 minut, czy już się zakończyła, to zły pomysł. Dodaj powiadomienie o zakończonej ewaluacji zawierające status builda oraz wynik ewaluacji (wartość obliczonej metryki) [1 pkt]" ] } ], From 72e50d9fb6ad2d936c5fc32ee15fb956c97fbbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Zi=C4=99tkiewicz?= Date: Thu, 22 Apr 2021 20:54:06 +0200 Subject: [PATCH 2/3] Rozszerzono opis zadania 2. --- IUM_06.Jenkins-2.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/IUM_06.Jenkins-2.ipynb b/IUM_06.Jenkins-2.ipynb index fe67f42..4aa1db6 100644 --- a/IUM_06.Jenkins-2.ipynb +++ b/IUM_06.Jenkins-2.ipynb @@ -177,7 +177,7 @@ } }, "source": [ - "## Zadanie 1 [5 pkt]\n", + "## Zadanie 1 [5 pkt] (termin: 2 V 2021)\n", "1. Stwórz na Jenkins projekt typu Multibranch pipeline o nazwie s123456-training\n", " Projekt ten powinien przeprowadzać trenowanie modelu korzystając z kodu przygotowanego na poprzednich zajęciach. Trenowanie powinno odbywać się wewnątrz kontenera docker. [1 pkt]\n", "2. Projekt powinien odpalać się automatycznie po zakończonym budowaniu projektu s123456-create-dataset i kopiować z niego zbiór danych [1 pkt]\n", @@ -194,7 +194,7 @@ } }, "source": [ - "## Zadanie 2 [15 pkt]\n", + "## Zadanie 2 [15 pkt] (termin: 2 V 2021)\n", "1. Stwórz na Jenkins projekt typu Multibranch pipeline o nazwie s123456-evaluation.\n", " Projekt ten będzie przeprowadzał ewaluację modelu stworzonego w s123456-training na danych ze zbioru trenującego [1pkt]\n", "2. Ewaluacja polega na wyliczeniu zbiorczych metryk (1-3 metryki) na zbiorze testującym (np. Accuracy, Micro-avg precission/recall, F1, RMSE - patrz [wykład 4. \"Metody ewaluacji\"])(https://git.wmi.amu.edu.pl/AITech/aitech-uma/src/branch/master/wyk/04_Metody_ewaluacji.ipynb) z przedmiotu Uczenie Maszynowe), zapisaniu metryk(i( do pliku i zarchiwizowaniu go [3 pkt]\n", @@ -206,10 +206,10 @@ " - pluginu [plot](https://plugins.jenkins.io/plot)\n", " - [Matplotlib](https://matplotlib.org/) - biblioteka pythonowa - w tym przypadku archiwizuj wygenerowany obrazek z wykresem\n", " - [Gnuplot](http://www.gnuplot.info/) - w tym przypadku archiwizuj wygenerowany obrazek z wykresem\n", - "5. Projekt powinien odpalać się automatycznie po zakończonym trenowaniu i kopiować model z artefaktów [1pkt]\n", + "5. Projekt powinien odpalać się automatycznie po zakończonym trenowaniu (s123456-training) i kopiować model z artefaktów. Zauważ, że żeby odpalony projekt (s123456-evaluation) skopiował artefakty z odpowiedniego brancha (tego, który go odpalił), projekt s123456-evaluation musi być wywołany przez s123456-training z odpowiednią wartością parametru branch (patrz punkt 7.) [2pkt]\n", "6. Dane testujące powinny być skopiowane z projektu s123456-create-dataset [1pkt]\n", "7. Dodaj parametry umożliwiające wybór:\n", - " - gałęzi (branch) projektu s123456-training z której ma być skopiowany model. Można by tutaj użyć prostego parametru typu String, ale użyh łatwiejszego (w użytkowaniu) parametru typu \"Git parameter\" (patrz wyżej)[2 pkt]\n", + " - gałęzi (branch) projektu s123456-training z której ma być skopiowany model. Można by tutaj użyć prostego parametru typu String, ale użyj łatwiejszego (w użytkowaniu) parametru typu \"Git parameter\" (patrz wyżej)[1 pkt]\n", " - numeru builda projektu s123456-training (\"Build selector for Copy artifact\", patrz zajęcia 3.) [1pkt]\n", "8. Ewaluacja modelu potrafi zająć dużo czasu. Sprawdzanie co 10 minut, czy już się zakończyła, to zły pomysł. Dodaj powiadomienie o zakończonej ewaluacji zawierające status builda oraz wynik ewaluacji (wartość obliczonej metryki) [1 pkt]" ] From f3864d18b44a2176b2de126b2258ca47efc763a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Zi=C4=99tkiewicz?= Date: Mon, 26 Apr 2021 11:44:34 +0200 Subject: [PATCH 3/3] 07. Sacred --- IUM_07.Sacred.ipynb | 1442 +++++++++++++++++++++++++++++++++++++++ IUM_07/config.json | 4 + IUM_07/file_observer.py | 19 + IUM_07/metrics.png | Bin 0 -> 79071 bytes IUM_07/omniboard.png | Bin 0 -> 109603 bytes IUM_07/sacred_hello.py | 7 + IUM_07/sacred_scopes.py | 13 + 7 files changed, 1485 insertions(+) create mode 100644 IUM_07.Sacred.ipynb create mode 100644 IUM_07/config.json create mode 100644 IUM_07/file_observer.py create mode 100644 IUM_07/metrics.png create mode 100644 IUM_07/omniboard.png create mode 100644 IUM_07/sacred_hello.py create mode 100644 IUM_07/sacred_scopes.py diff --git a/IUM_07.Sacred.ipynb b/IUM_07.Sacred.ipynb new file mode 100644 index 0000000..7246a68 --- /dev/null +++ b/IUM_07.Sacred.ipynb @@ -0,0 +1,1442 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Sacred\n", + "> Every experiment is sacred
\n", + "> Every experiment is great
\n", + "> If an experiment is wasted
\n", + "> God gets quite irate\n", + ">\n", + " —https://github.com/IDSIA/sacred / [Sens życia według Monty Pythona](https://en.wikipedia.org/wiki/Every_Sperm_Is_Sacred) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "- Przeprowadzanie eksperymentów (zmiana parametrów, trenowanie, ewaluacja) uczenia maszynowego jest kosztowne i czasochłonne\n", + "- Dlatego warto przeprowadzać je w zorganizowany sposób\n", + "- I tak, żebyśmy mogli powtórzyć / odtworzyć raz uzyskane wyniki" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "> Sacred is a tool to help you:\n", + "> - configure\n", + "> - organize\n", + "> - log \n", + "> - reproduce \n", + "> experiments. \n", + "> \n", + ">It is designed to do all the tedious overhead work that you need to do around your actual experiment in order to:\n", + "> - keep track of all the parameters of your experiment\n", + "> - easily run your experiment for different settings\n", + "> - save configurations for individual runs in a database\n", + "> - reproduce your results\n", + " \n", + " —https://github.com/IDSIA/sacred" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "- **ConfigScopes** A very convenient way of the local variables in a function to define the parameters your experiment uses.\n", + "- **Config Injection** You can access all parameters of your configuration from every function. They are automatically injected by name.\n", + "- **Command-line interface** You get a powerful command-line interface for each experiment that you can use to change parameters and run different variants.\n", + "- **Observers** Sacred provides Observers that log all kinds of information about your experiment, its dependencies, the configuration you used, the machine it is run on, and of course the result. These can be saved to a MongoDB, for easy access later.\n", + "- **Automatic seeding** helps controlling the randomness in your experiments, such that the results remain reproducible." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Instalacja" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting sacred\n", + " Downloading sacred-0.8.2-py2.py3-none-any.whl (106 kB)\n", + "\u001b[K |████████████████████████████████| 106 kB 1.7 MB/s eta 0:00:01\n", + "\u001b[?25hRequirement already satisfied: packaging>=18.0 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from sacred) (20.4)\n", + "Collecting jsonpickle<2.0,>=1.2\n", + " Downloading jsonpickle-1.5.2-py2.py3-none-any.whl (37 kB)\n", + "Requirement already satisfied: GitPython in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from sacred) (3.1.14)\n", + "Collecting munch<3.0,>=2.0.2\n", + " Downloading munch-2.5.0-py2.py3-none-any.whl (10 kB)\n", + "Collecting py-cpuinfo>=4.0\n", + " Downloading py-cpuinfo-8.0.0.tar.gz (99 kB)\n", + "\u001b[K |████████████████████████████████| 99 kB 2.7 MB/s eta 0:00:011\n", + "\u001b[?25hCollecting docopt<1.0,>=0.3\n", + " Downloading docopt-0.6.2.tar.gz (25 kB)\n", + "Requirement already satisfied: wrapt<2.0,>=1.0 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from sacred) (1.11.2)\n", + "Requirement already satisfied: colorama>=0.4 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from sacred) (0.4.4)\n", + "Requirement already satisfied: pyparsing>=2.0.2 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from packaging>=18.0->sacred) (2.4.7)\n", + "Requirement already satisfied: six in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from packaging>=18.0->sacred) (1.15.0)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from GitPython->sacred) (4.0.5)\n", + "Requirement already satisfied: smmap<4,>=3.0.1 in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->GitPython->sacred) (3.0.5)\n", + "Building wheels for collected packages: py-cpuinfo, docopt\n", + " Building wheel for py-cpuinfo (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for py-cpuinfo: filename=py_cpuinfo-8.0.0-py3-none-any.whl size=22245 sha256=556a8ea1e899c40b6266eab7562141327aecacfb2cdb6509279a85c91bf729b2\n", + " Stored in directory: /home/tomek/.cache/pip/wheels/57/cb/6d/bab2257f26c5be4a96ff65c3d2a7122c96529b73773ee37f36\n", + " Building wheel for docopt (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13704 sha256=a9cd4cc934499c413a39353a865132382f2f2b230f614d2a2a495b1ccc0b2dd4\n", + " Stored in directory: /home/tomek/.cache/pip/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c\n", + "Successfully built py-cpuinfo docopt\n", + "Installing collected packages: jsonpickle, munch, py-cpuinfo, docopt, sacred\n", + "Successfully installed docopt-0.6.2 jsonpickle-1.5.2 munch-2.5.0 py-cpuinfo-8.0.0 sacred-0.8.2\n" + ] + } + ], + "source": [ + "!pip install sacred" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Funkcja main" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "# %load sacred_hello.py\n", + "from sacred import Experiment\n", + "\n", + "ex = Experiment()\n", + "\n", + "@ex.automain\n", + "def my_main():\n", + " print('Witaj świecie!')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING - sacred_hello - No observers have been added to this run\r\n", + "INFO - sacred_hello - Running command 'my_main'\r\n", + "INFO - sacred_hello - Started\r\n", + "Witaj świecie!\r\n", + "INFO - sacred_hello - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!python IUM_07/sacred_hello.py" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "##### Co się dzieje w kodzie powyżej?\n", + "1. Tworzymy obiekt klasy Experiment\n", + "2. Dekorujemy funkcję \"ma_main\" dekoratorem [automain](https://sacred.readthedocs.io/en/stable/apidoc.html#sacred.Experiment.automain)\n", + " Dzięki temu:\n", + " - otrzymujemy interfejs CLI, m.in. do kontrolowania poziomu logowania, przekazywania parametrów itp.\n", + " - oznaczamy funkcję \"my_main\" jako główną funkcję, która będzie wywoływana podczas wykonywania eksperymentu\n", + " - funkcja oznaczona jako główna musi być ostatnią funkcją zdefiniowaną w pliku!\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "##### Co nam daje interejs CLI:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Usage:\r\n", + " sacred_hello.py [(with UPDATE...)] [options]\r\n", + " sacred_hello.py help [COMMAND]\r\n", + " sacred_hello.py (-h | --help)\r\n", + " sacred_hello.py COMMAND [(with UPDATE...)] [options]\r\n", + "\r\n", + "\r\n", + "\r\n", + "Options:\r\n", + " -b VALUE --beat-interval=VALUE Set the heart-beat interval for this run. Time\r\n", + " between two heartbeat events is measured in\r\n", + " seconds.\r\n", + " -C VALUE --capture=VALUE Control the way stdout and stderr are captured.\r\n", + " The argument value must be one of [no, sys, fd]\r\n", + " -c VALUE --comment=VALUE Add a comment to this run.\r\n", + " -d --debug Set this run to debug mode. Suppress warnings\r\n", + " about missing observers and don't filter the\r\n", + " stacktrace. Also enables usage with ipython\r\n", + " `--pdb`.\r\n", + " -e --enforce_clean Fail if any version control repository is\r\n", + " dirty.\r\n", + " -F VALUE --file_storage=VALUE Add a file-storage observer to the experiment.\r\n", + " The value of the arguement should be the base-\r\n", + " directory to write the runs to\r\n", + " -f --force Disable warnings about suspicious changes for\r\n", + " this run.\r\n", + " -h --help Print this help message and exit.\r\n", + " -l VALUE --loglevel=VALUE Set the LogLevel. Loglevel either as 0 - 50 or\r\n", + " as string: DEBUG(10), INFO(20), WARNING(30),\r\n", + " ERROR(40), CRITICAL(50)\r\n", + " -m VALUE --mongo_db=VALUE Add a MongoDB Observer to the experiment. The\r\n", + " argument value is the database specification.\r\n", + " Should be in the form: `[host:port:]db_name[.c\r\n", + " ollection[:id]][!priority]`\r\n", + " -n VALUE --name=VALUE Set the name for this run.\r\n", + " -D --pdb Automatically enter post-mortem debugging with\r\n", + " pdb on failure.\r\n", + " -p --print-config Always print the configuration first.\r\n", + " -P VALUE --priority=VALUE Sets the priority for a queued up experiment.\r\n", + " `--priority=NUMBER` The number represent the\r\n", + " priority for this run.\r\n", + " -q --queue Only queue this run, do not start it.\r\n", + " -S VALUE --s3=VALUE Add a S3 File observer to the experiment. The\r\n", + " argument value should be\r\n", + " `s3:///path/to/exp`.\r\n", + " -s VALUE --sql=VALUE Add a SQL Observer to the experiment. The\r\n", + " typical form is:\r\n", + " dialect://username:password@host:port/database\r\n", + " -t VALUE --tiny_db=VALUE Add a TinyDB Observer to the experiment. The\r\n", + " argument is the path to be given to the\r\n", + " TinyDbObserver.\r\n", + " -u --unobserved Ignore all observers for this run.\r\n", + "\r\n", + "\r\n", + "Arguments:\r\n", + " COMMAND Name of command to run (see below for list of commands)\r\n", + " UPDATE Configuration assignments of the form foo.bar=17\r\n", + "\r\n", + "\r\n", + "Commands:\r\n", + " print_config Print the updated configuration and exit.\r\n", + " print_dependencies Print the detected source-files and dependencies.\r\n", + " save_config Store the updated configuration in a file.\r\n", + " print_named_configs Print the available named configs and exit.\r\n", + " my_main \r\n", + "\r\n" + ] + } + ], + "source": [ + "!python IUM_07/sacred_hello.py -h" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Konfiguracje\n", + " - Konfiguracje pozwalają nam sparametryzować wywołania eksperymentu.\n", + " - Ułatwiają przekazywanie parametrów - zmienne z konfiguracji są wstrzykiwane do funkcji wywoływanych \n", + " - Mogą być automatycznie zapisywane (dzięki czemu możemy śledzić jak zmieniały się parametry i jaki miały wpływ na wyniki)\n", + " - Konfigurację można stworzyć w jeden z 3 sposobów:\n", + " - używając config scopes (zasięg konfiguracji)\n", + " - jako słownik\n", + " - wczytując ją z pliku" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "### Konfiguracje - config scopes\n", + "Jeśli oznaczymy jakąś funkcję dekoratorem `config`, to zostanie ona uruchoniona przed wywołaniem eksperymentu i wszystkie jej lokalne zmienne, które da sie zserializować jako json, zostaną dodane do konfiguracji. Potem ich wartości zostaną wstrzyknięte " + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "from sacred import Experiment\n", + "\n", + "exint = Experiment(\"sacred_scopes\", interactive=True) #Jeśli wykonujemy interaktywnie (w konsoli Pythona albo w Jupyter):\n", + "# - musimy podać nazwę eksperymentu (domyślnie jako nazwa używana jest nazwa pliku źródłowego)\n", + "# - musimy dodać parametr \"interactive=True\"\n", + "# - zamiast \"automain\" używamy parametru \"main\"\n", + "\n", + "@exint.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + " message = \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "\n", + "@exint.main\n", + "def my_main(message):\n", + " print(message)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - sacred_scopes - No observers have been added to this run\n", + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started\n", + "INFO - sacred_scopes - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Witaj Świecie!\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exint.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "##### Możemy podejrzeć wartości zmiennych w konfiguracji:" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'recipient': 'Świecie', 'greeting': 'Witaj', 'message': 'Witaj Świecie!'}" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_config()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "#### Parametry możemy podejrzeć i modyfikować z poziomu CLI\n", + " - wartości podane w CLI nadpiszą te podane w kodzie" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "# %load IUM_07/sacred_scopes.py\n", + "from sacred import Experiment\n", + "\n", + "ex = Experiment()\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + " message = \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.automain\n", + "def my_main(message):\n", + " print(message)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING - sacred_scopes - No observers have been added to this run\r\n", + "INFO - sacred_scopes - Running command 'my_main'\r\n", + "INFO - sacred_scopes - Started\r\n", + "Witaj Przygodo!\r\n", + "INFO - sacred_scopes - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!python IUM_07/sacred_scopes.py with 'recipient=Przygodo'" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO - sacred_scopes - Running command 'print_config'\r\n", + "INFO - sacred_scopes - Started\r\n", + "Configuration (\u001b[34mmodified\u001b[0m, \u001b[32madded\u001b[0m, \u001b[31mtypechanged\u001b[0m, \u001b[2mdoc\u001b[0m):\r\n", + " greeting = 'Witaj'\r\n", + " message = 'Witaj Świecie!'\r\n", + " recipient = 'Świecie'\r\n", + " seed = 29744255 \u001b[2m# the random seed for this experiment\u001b[0m\r\n", + "INFO - sacred_scopes - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!python IUM_07/sacred_scopes.py print_config" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO - sacred_scopes - Running command 'print_config'\r\n", + "INFO - sacred_scopes - Started\r\n", + "Configuration (\u001b[34mmodified\u001b[0m, \u001b[32madded\u001b[0m, \u001b[31mtypechanged\u001b[0m, \u001b[2mdoc\u001b[0m):\r\n", + " greeting = 'Witaj'\r\n", + " message = 'Witaj Przygodo!'\r\n", + "\u001b[34m recipient = 'Przygodo'\u001b[0m\r\n", + " seed = 215765170 \u001b[2m# the random seed for this experiment\u001b[0m\r\n", + "INFO - sacred_scopes - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!python IUM_07/sacred_scopes.py print_config with 'recipient=Przygodo'" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "### Wczytywanie konfiguracji z pliku" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "# %load IUM_07/config.json\n", + "{\n", + " \"recipient\": \"samotności\",\n", + " \"greeting\": \"Żegnaj\"\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [], + "source": [ + "from sacred import Experiment\n", + "\n", + "ex = Experiment(\"sacred_scopes\", interactive=True) #Jeśli wykonujemy interaktywnie (w konsoli Pythona albo w Jupyter):\n", + "# - musimy podać nazwę eksperymentu (domyślnie jako nazwa używana jest nazwa pliku źródłowego)\n", + "# - musimy dodać parametr \"interactive=True\"\n", + "# - zamiast \"automain\" używamy parametru \"main\"\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "ex.add_config(\"IUM_07/config.json\")\n", + "\n", + "\n", + "@ex.main\n", + "def my_main(recipient, greeting):\n", + " print(\"{0} {1}!\".format(greeting, recipient))" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - sacred_scopes - No observers have been added to this run\n", + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started\n", + "INFO - sacred_scopes - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Żegnaj samotności!\n" + ] + } + ], + "source": [ + "r = ex.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'recipient': 'samotności', 'greeting': 'Żegnaj', 'seed': 529757761}" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r.config" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "#### Możemy modyfikować części konfiguracji bezpośrednio przed wywołaniem" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - sacred_scopes - No observers have been added to this run\n", + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started\n", + "INFO - sacred_scopes - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Żegnaj nudo!\n" + ] + } + ], + "source": [ + "r = ex.run(config_updates={\"recipient\":\"nudo\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "#### Wtrzykiwanie zależności\n", + " - Oprócz funkcji głównej, wartości z konfiguracji są też wstrzykiwane do funkcji udekorowanych dekoratorem `@ex.capture`\n", + " - Możemy skorzystać w nich ze specjalnych parametrów, np.:\n", + " - `_log` - daje nam dostęp do obiektu logera (więcej: [logowanie](https://sacred.readthedocs.io/en/stable/logging.html))\n", + " - `_run` - daje dostęp do obiektu reprezentującego aktualne wywołanie eksperymentu (przykład później)" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - sacred_scopes - No observers have been added to this run\n", + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started\n", + "INFO - prepare_message - Enterred prepare_message\n", + "INFO - sacred_scopes - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Witaj Świecie!\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 193, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sacred import Experiment\n", + "\n", + "ex = Experiment(\"sacred_scopes\", interactive=True)\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting, _log):\n", + " _log.info(\"Enterred prepare_message\")\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.main\n", + "def my_main(recipient, greeting):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości\n", + " \n", + "ex.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "### Obserwowanie eksperymentów\n", + "Sacred zapisuje szereg informacji na temat każdego eksperymentu:\n", + " - czas wykonania\n", + " - konfigurację\n", + " - tekst zwrócony na stdout/stderr\n", + " - błędy, jeśli wystąpiły\n", + " - podstawowe informacje o środowisku (maszynie), na której przeprowadzono eksperyment\n", + " - użyte pliki źródłowe\n", + " - użyte zależności i ich wersje\n", + " - pliki otwarte za pomocą ex.open_resource\n", + " - pliki dodane za pomocą ex.add_artifact" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "Obserwowane infromacje mogą zostać zapisane za pomocą jednego z [obserwatorów](https://sacred.readthedocs.io/en/stable/observers.html):\n", + " - Mongo Observer - zapisuje dane w MongoDB\n", + " - File Storage Observer - zapisuje dane lokalnie w pliku\n", + " - TinyDB Observer - korzysta z lokalnej bazy zapisanej w pliku JSON\n", + " - SQL Observer - przechowuje informacje w bazie SQL\n", + " - S3 Observer - korzysta z AWS S3\n", + " - gcs_observer - korzysta z Google Cloud Storage\n", + " - Queue Observer - rodzaj lokalnego bufora nakładanego na jeden z powyższych\n", + " - Slack Observer - używany do powiadomień wysyłanych na komunikator Slack\n", + " - Telegram Observer - używany do powiadomień wysyłanych na komunikator Telegram" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### File storage observer\n", + "- zapisuje informacje o eksperymencie w lokalnych plikach \n", + "- można go dodać tak: `ex.observers.append(FileStorageObserver('my_runs_directory'))`, gdzie `my_runs_directory` to ścieżka, gdzie będą zapisywane informacje o eksperymentach" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# %load IUM_07/file_observer.py\n", + "from sacred.observers import FileStorageObserver\n", + "from sacred import Experiment\n", + "\n", + "ex = Experiment(\"file_observer\")\n", + "\n", + "ex.observers.append(FileStorageObserver('my_runs'))\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting):\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.automain\n", + "def my_main(recipient, greeting):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO - file_observer - Running command 'my_main'\r\n", + "INFO - file_observer - Started run with ID \"2\"\r\n", + "Witaj Świecie!\r\n", + "INFO - file_observer - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!python IUM_07/file_observer.py" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Zobaczmy jakie informacje zostały zapisane" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total 12\r\n", + "drwxrwxr-x 2 tomek tomek 4096 kwi 26 09:54 1\r\n", + "drwxrwxr-x 2 tomek tomek 4096 kwi 26 10:21 2\r\n", + "drwxrwxr-x 2 tomek tomek 4096 kwi 26 10:21 _sources\r\n" + ] + } + ], + "source": [ + "!ls -l my_runs" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total 16\r\n", + "-rw-rw-r-- 1 tomek tomek 76 kwi 26 10:21 config.json\r\n", + "-rw-rw-r-- 1 tomek tomek 159 kwi 26 10:21 cout.txt\r\n", + "-rw-rw-r-- 1 tomek tomek 2 kwi 26 10:21 metrics.json\r\n", + "-rw-rw-r-- 1 tomek tomek 1686 kwi 26 10:21 run.json\r\n" + ] + } + ], + "source": [ + "!ls -l my_runs/2" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'greeting': 'Witaj', 'recipient': 'Świecie', 'seed': 178660254}" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# %load my_runs/2/config.json\n", + "{\n", + " \"greeting\": \"Witaj\",\n", + " \"recipient\": \"\\u015awiecie\",\n", + " \"seed\": 178660254\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO - file_observer - Running command 'my_main'\r\n", + "INFO - file_observer - Started run with ID \"2\"\r\n", + "Witaj Świecie!\r\n", + "INFO - file_observer - Completed after 0:00:00\r\n" + ] + } + ], + "source": [ + "!cat my_runs/2/cout.txt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# %load my_runs/2/run.json\n", + "{\n", + " \"artifacts\": [],\n", + " \"command\": \"my_main\",\n", + " \"experiment\": {\n", + " \"base_dir\": \"/home/tomek/AITech/repo/aitech-ium-private/IUM_07\",\n", + " \"dependencies\": [\n", + " \"numpy==1.19.2\",\n", + " \"sacred==0.8.2\"\n", + " ],\n", + " \"mainfile\": \"file_observer.py\",\n", + " \"name\": \"file_observer\",\n", + " \"repositories\": [\n", + " {\n", + " \"commit\": \"9a2064faaf4d209233ab0e20ad522638bb99b6f4\",\n", + " \"dirty\": true,\n", + " \"url\": \"git@git.wmi.amu.edu.pl:tzietkiewicz/aitech-ium-private.git\"\n", + " }\n", + " ],\n", + " \"sources\": [\n", + " [\n", + " \"file_observer.py\",\n", + " \"_sources/file_observer_bb0a5c4720d1072b641d23da080696b6.py\"\n", + " ]\n", + " ]\n", + " },\n", + " \"heartbeat\": \"2021-04-26T08:21:35.718761\",\n", + " \"host\": {\n", + " \"ENV\": {},\n", + " \"cpu\": \"Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz\",\n", + " \"hostname\": \"tomek-asus\",\n", + " \"os\": [\n", + " \"Linux\",\n", + " \"Linux-5.4.0-72-generic-x86_64-with-glibc2.10\"\n", + " ],\n", + " \"python_version\": \"3.8.5\"\n", + " },\n", + " \"meta\": {\n", + " \"command\": \"my_main\",\n", + " \"options\": {\n", + " \"--beat-interval\": null,\n", + " \"--capture\": null,\n", + " \"--comment\": null,\n", + " \"--debug\": false,\n", + " \"--enforce_clean\": false,\n", + " \"--file_storage\": null,\n", + " \"--force\": false,\n", + " \"--help\": false,\n", + " \"--loglevel\": null,\n", + " \"--mongo_db\": null,\n", + " \"--name\": null,\n", + " \"--pdb\": false,\n", + " \"--print-config\": false,\n", + " \"--priority\": null,\n", + " \"--queue\": false,\n", + " \"--s3\": null,\n", + " \"--sql\": null,\n", + " \"--tiny_db\": null,\n", + " \"--unobserved\": false,\n", + " \"COMMAND\": null,\n", + " \"UPDATE\": [],\n", + " \"help\": false,\n", + " \"with\": false\n", + " }\n", + " },\n", + " \"resources\": [],\n", + " \"result\": null,\n", + " \"start_time\": \"2021-04-26T08:21:35.714091\",\n", + " \"status\": \"COMPLETED\",\n", + " \"stop_time\": \"2021-04-26T08:21:35.717141\"\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total 4\r\n", + "-rw-rw-r-- 1 tomek tomek 463 kwi 26 10:21 file_observer_bb0a5c4720d1072b641d23da080696b6.py\r\n" + ] + } + ], + "source": [ + "! ls -l my_runs/_sources\n", + "## W run.json możemy znaleźć ścieżkę do pliku z źródłami: \"_sources/file_observer_bb0a5c4720d1072b641d23da080696b6.py\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "## Źródła zostały zapisane\n", + "# %load my_runs/_sources/file_observer_bb0a5c4720d1072b641d23da080696b6.py\n", + "from sacred.observers import FileStorageObserver\n", + "from sacred import Experiment\n", + "\n", + "ex = Experiment(\"file_observer\")\n", + "\n", + "ex.observers.append(FileStorageObserver('my_runs'))\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting):\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.automain\n", + "def my_main(recipient, greeting):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Dodawanie własnych informacji\n" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO - file_observer - Running command 'my_main'\n", + "INFO - file_observer - Started run with ID \"6\"\n", + "INFO - file_observer - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Witaj Świecie!\n" + ] + } + ], + "source": [ + "from sacred.observers import FileStorageObserver\n", + "from sacred import Experiment\n", + "from datetime import datetime\n", + "\n", + "ex = Experiment(\"file_observer\", interactive=True)\n", + "\n", + "ex.observers.append(FileStorageObserver('my_runs'))\n", + "\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "### - Do \"przechwyconej\" przez @ex.capture funkcji prepare_message dodaliśmy specjalny parametr _run\n", + "### - Daje on dostęp do obiektu wywołania eksperymentu w trakcie jego wywołania\n", + "### - umożliwia m.in. zapisywanie dodatkowych informacji w słowniku info\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting, _run):\n", + " _run.info[\"prepare_message_ts\"] = str(datetime.now())\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.main\n", + "def my_main(recipient, greeting):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości\n", + " \n", + "r = ex.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\r\n", + " \"prepare_message_ts\": \"2021-04-26 10:39:59.268539\"\r\n", + "}" + ] + } + ], + "source": [ + "cat my_runs/6/info.json" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Artefakty\n", + "\n", + "- Artefakty służą do zapisywania plików, np. z wytrenowanym modelem\n", + "- Plik można zapisać jako artefakt korzystając z : [ex.add_artifact()](https://sacred.readthedocs.io/en/stable/apidoc.html?highlight=artifact#sacred.Experiment.add_artifact)\n", + "```python\n", + "ex.add_artifact(\"model.pb\")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ## Obserwator mongo\n", + " - Żeby skorzystać z obserwatora Mongo, musimy mieć dostęp do bazy Mongo.\n", + " - Można ją łatwo \"postawić\" za pomocą [docker-compose ](https://docs.docker.com/compose/).\n", + " - W tym celu wystarczy skopiować katalog [examples/docker](https://github.com/IDSIA/sacred/tree/master/examples/docker) z repozytorium SACRED i uruchomić `docker-compose up` - dostaniemy uruchomioną bazę MongoDB i dodatkowo [Omniboard ](https://vivekratnavel.github.io/omniboard/#/). Więcej informacji w [dokumentacji](https://sacred.readthedocs.io/en/stable/examples.html#docker-setup)\n", + " - Baza taka została już postawiona na serwerze Jenkins, więc pracując na Jenkinsie można skorzystać z lokalnej bazy (`localhost:27017`)" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pymongo in /media/tomek/Linux_data/home/tomek/anaconda3/lib/python3.8/site-packages (3.11.3)\r\n" + ] + } + ], + "source": [ + "!pip install pymongo" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started run with ID \"2\"\n", + "INFO - sacred_scopes - Completed after 0:00:00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Witaj Świecie!\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sacred.observers import MongoObserver\n", + "from sacred import Experiment\n", + "\n", + "ex = Experiment(\"sacred_scopes\", interactive=True)\n", + "ex.observers.append(MongoObserver(url='mongodb://mongo_user:mongo_password@localhost:27017',\n", + " db_name='sacred')) # Tutaj podajemy dane uwierzytelniające i nazwę bazy skonfigurowane w pliku .env podczas uruchamiania bazy.\n", + "# W przypadku instancji na Jenkinsie url będzie wyglądał następująco: mongodb://mongo_user:mongo_password_IUM_2021@localhost:27017\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting):\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.main\n", + "def my_main(recipient, greeting):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości\n", + " \n", + "ex.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Informacje o eksperymencie można obejrzeć na Omniboard: http://127.0.0.1:9000/sacred\n", + "- Instancja na Jenkinsie: http://tzietkiewicz.vm.wmi.amu.edu.pl:9000/sacred\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Metryki\n", + "\n", + "- W trakcie eksperymentu możemy śledzić [metryki](https://sacred.readthedocs.io/en/stable/collected_information.html#metrics-api), np. aktualny loss\n", + "- W tym celu wystarczy:\n", + " - dodać do funkcji udekorowanej `@ex.main` albo `@ex.capure` parametr `_run`\n", + " - potem wywołać np. `_run.log_scalar()`" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO - sacred_scopes - Running command 'my_main'\n", + "INFO - sacred_scopes - Started run with ID \"9\"\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Witaj Świecie!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO - sacred_scopes - Completed after 0:00:50\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 192, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sacred.observers import MongoObserver\n", + "from sacred import Experiment\n", + "import random\n", + "import time\n", + "\n", + "ex = Experiment(\"sacred_scopes\", interactive=True)\n", + "ex.observers.append(MongoObserver(url='mongodb://mongo_user:mongo_password@localhost:27017',\n", + " db_name='sacred')) # Tutaj podajemy dane uwierzytelniające i nazwę bazy skonfigurowane w pliku .env podczas uruchamiania bazy.\n", + "# W przypadku instancji na Jenkinsie url będzie wyglądał następująco: mongodb://mongo_user:mongo_password_IUM_2021@localhost:27017\n", + "@ex.config\n", + "def my_config():\n", + " recipient = \"Świecie\"\n", + " greeting = \"Witaj\"\n", + "\n", + "@ex.capture\n", + "def prepare_message(recipient, greeting):\n", + " return \"{0} {1}!\".format(greeting, recipient)\n", + "\n", + "@ex.main\n", + "def my_main(recipient, greeting, _run):\n", + " print(prepare_message()) ## Nie musimy przekazywać wartości \n", + " counter = 0\n", + " while counter < 20:\n", + " counter+=1\n", + " value = counter\n", + " ms_to_wait = random.randint(5, 5000)\n", + " time.sleep(ms_to_wait/1000)\n", + " noise = 1.0 + 0.1 * (random.randint(0, 10) - 5)\n", + " # This will add an entry for training.loss metric in every second iteration.\n", + " # The resulting sequence of steps for training.loss will be 0, 2, 4, ...\n", + " if counter % 2 == 0:\n", + " _run.log_scalar(\"training.loss\", value * 1.5 * noise, counter)\n", + " # Implicit step counter (0, 1, 2, 3, ...)\n", + " # incremented with each call for training.accuracy:\n", + " _run.log_scalar(\"training.accuracy\", value * 2 * noise)\n", + "\n", + "ex.run() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Wartości metryk możemy na żywo śledzić w Omniboard\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Zadanie [15 pkt]\n", + "1. \"Owiń\" wywołanie swojego eksperymentu za pomocą Sacred, w ten sposób, żeby zapisane zostały [10pkt]:\n", + " - parametry, z którymi wywołany był trening\n", + " - powstały plik z modelem (jako artefakt)\n", + " - kod źródłowy użyty do przeprowadzenia treningu\n", + " - wyniki (np. ostateczny loss albo wyniki ewaluacji)\n", + "2. Wykorzystaj 2 obserwatory [5pkt]: \n", + " - MongoObserver, skorzytaj nastęþującego URL: `mongodb://mongo_user:mongo_password_IUM_2021@localhost:27017` (będziesz mógł przeglądać wyniki na http://tzietkiewicz.vm.wmi.amu.edu.pl:9000/sacred)\n", + " - FileObserver - zapisane pliki zarchiwizuj na Jenkinsie jako jego artefakty\n" + ] + } + ], + "metadata": { + "celltoolbar": "Slideshow", + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": false, + "sideBar": false, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": false, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/IUM_07/config.json b/IUM_07/config.json new file mode 100644 index 0000000..2b4ce77 --- /dev/null +++ b/IUM_07/config.json @@ -0,0 +1,4 @@ +{ + "recipient": "samotności", + "greeting": "Żegnaj" +} \ No newline at end of file diff --git a/IUM_07/file_observer.py b/IUM_07/file_observer.py new file mode 100644 index 0000000..be51d81 --- /dev/null +++ b/IUM_07/file_observer.py @@ -0,0 +1,19 @@ +from sacred.observers import FileStorageObserver +from sacred import Experiment + +ex = Experiment("file_observer") + +ex.observers.append(FileStorageObserver('my_runs')) + +@ex.config +def my_config(): + recipient = "Świecie" + greeting = "Witaj" + +@ex.capture +def prepare_message(recipient, greeting): + return "{0} {1}!".format(greeting, recipient) + +@ex.automain +def my_main(recipient, greeting): + print(prepare_message()) ## Nie musimy przekazywać wartości \ No newline at end of file diff --git a/IUM_07/metrics.png b/IUM_07/metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..c026fc7468b79cfef9d677e40b3d22b500e763d7 GIT binary patch literal 79071 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

^Yi~d9Gyz2XS8u^zNWK}@Jnis%I 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

WHfq z=2A9X6U_t{pm+dM6foP|W5jd4CwyI8_y#N2Q~`vE!`q4(lw&@SA@iRvZz#PIiKevB}*? zfkysO7nevd%TF`Wo&>NwqsGJj_%YMvwV(Ve#q|_NzlOEj%`5dzU61FmC5Bs~8%v4j zFBIU#4O#aJlIw3ac?CFk(Wyw`nd!5`Qv1URU_GPk4CS|LItW~LFr2>ZT6>QNMA-<{ zYArkeG^_|b(_JO-+Q|L*=4zBWhHq~Go{}oYbUJc7e>#1mB-z5Be~kAKfq?zlW9pWN zrpA@+19tQ{i=N>RHZfu>BF*E|WxM==kb#%M)}r>e`4Pm`d+$u{cy9M9k6oLa&c>vn z00_c*(P5gi$m+GClZcx+Q*d9o8{lV0)(r!-hy&KE}pdcgczf? zsowYT6N>#pfPWk3@~=*-T-0`>_u{FfId7(=5W{_}1Yy;t;cJ<(qGFz9i>RoHHZ=X{ z5CPN&`5PA?<@z>V$V2YN1zo?vnolc13^pR7>B@r7hOgb4C)ngPgE@tkj)#xlTCZ&2i(_njJPrW?!5(`y8gP*%!0bZ_ z3NyL4m{JIP88dBKVn889IX>LnM{S(R|2k7Yo7-tXzn#l}?&Gxpqr+lCuBalCHwH2A z6QIuD{!w&ALICOXm=K*bBxwHWTG@O!Vy|RFW$PEGLpT4Xv&6gKH!`Fk1{}q%A$n3z zd7qtf6bp3NY#JA3Q8;S%_)M(iE_&KB**+j*U>sJtLh!2DyZNU#b%zur&c-f!<1=u^ zsqN{dgB@5U1Jt&$bHAmow)|LsH)MRJr5aN^!%-B?R?M+I#`u|cv^l%rQ2CmNE|)sB zpIb(lc8Zrr4I<3|v{S(Sde5C37fbjjAh(b+Ah}ew9XDrq_6(y)8(&Y=<*GtYldD1n zlG=R(eys_u#(hp87vw;^XwLzRWycVUDBf`ra#mWKjYKBpXz(^+kCi z%#TeAC#Cf0iwkWaxqFvcH7FxMDoZ=CZ-1&=x_H19A~Qgh1^Qc$cX1?gx=^Y+sYQqd zH==GWqh2#LV2|0ZxUuAe1V&EdZ?64te_LrW&sFnjRzyijscc|}3kdZC@s6{@W#O4W zx?z2iTvirXmrad<#E}@@X%VbxX+lXwRqORR;&S2_#p&3`*Uj$;5VOHSM)5+RF2%6a z1B=ZCsdhHW*jpRO;-aR^1hhSmFRSnDwBC=;IB~e0^i5#-6Mdyrrdtdw#1(1^@4J&v z>IJL&Oz-@f7G3@6PAr|4)( z_iZHgc6EFClt2ja8zfvFlK`&s?`5wc zgRhx$G-^>+U(e9Kml(dA)w(7j$PgS55^OIB*`GgGw#M9hh0gF&CgXt?GbmJZL?;hB zOm2Az43G?3kdDQ93lcNmkxlNz!$Ce_W~u+)o4@q2)_d8j2`ipR)w$kEpJrHx<8v7K z=<5=h1~`@H?pHW{k996Zo9alLo9%_NqS+|G`2H(oEe4M7Z_-oA5G@mf7!}$l7C+mWpZzNFB zGL7p3JfohrGb#LenudUG4Rq`2g~`|{XDEr_s?+#F_C!|J=Y4UKwJR?ITxvUWy|^N) z_oOhfqNo+Xa_EP&odnbIU5>BjmujZ9hUbulI}Mn^B5JVJMJ6!&9o z=uKP0Kp4fBzL;f-0BX&6u8n6^zomkG`@zl=K`L(9$)oaGSiH}tl&|`kkOn`_aR~UY zmMdewc@u2uJUzQxVjMX?JomY+H^NMKS(*d)#h>@s_xj{g$!6W0VMa~i$t!=oO_gP$ z!85CDI1oVLo24GD7MGc7pC&Y5i;6}hLwt-i*aKNT5xK0m)$(FR-?Y`IXQ;L8&w763 zxi!bS{#L6R9;j6~tNGh*gdS#I`l%x{AGU*1MT>es)H%LPA=%p1N2x-$DDprLPRKh& z;;RL6ID!R?Sq?w7I8aN0~_-=~1q_s@m{rr=-2_`NnoR z>95($6#rnKc~kLJrjBE{RVqFi6G7oiBXXxD{~T@w1Kq#s#!%-w!29}#Q*cJ+75W*PqNF-z#tTFZzmL`|r^WZ40>}z2yzIzJmS=@`89m4CTr?;_-BO&(ep* z9UQ8`+W{8A^3(qmSh6}l3AlD6G7~3}f>NV~$z&WR()J^Mi;aQxF8IxG;CZ9aH<4aG zvnF+c$wcFzNjy)&Rf-57&VvH1P0?)rlj%+!e9P6@w;IQj2$pg`q{266&BbC!zmbS- zAcEsDx?groF=PNj5G>w&bdqNu2*`9D>f<;Nx?(<&-nOIIp4J(U6A7??V=;X-`&Cw; zL07n2jNNHDwtZ!tQC+lw+3n4jciX}jy;Gc;I9wvX`AaBynN*9#Yqf(Q$J3syaX@R~ zXbzd{pcuBzvifMe|4H3>69**jL9uY4)jT5UYk6Mh5E7iShK}>>!^zZqp>rdwm<(@x zt2^~wpE$!@KgG0|?RJ3VjL+5Chm!D6nwC}PLyxA=VoATN#cM$c{?#$r6QLy;mkU;A z8NOA&5D5fHR5U$fSwUI{&zra8^KX|FcE7JuYh&?GW3{Y6CHL1dg_Q}N@E2vrni zLBXjlFiVUJb)}}C)E$X2WQcqh9Z64ff9&KasffVJ+@Pg+*!?*W;Z-=#5;m9?gYuR! zbHkk~w?ag=@C>cZ6|>&;`tsHfO7~M5_tI%Ie%`D({q1}`@IuB4Z`sQlW89K2C?))H zwM16%Y9O-HWwYF2L;03X`1jh^WS&T&+b%PVYTLy_obMR2Xkj+Oi5SI!&0Z-dK#@qMi%QY zXOof>5k;g*8MQV?aY}Y3*eS9^qs4?%JjOR}S?YEPQWF_p&0O^(lP|BXOgp6v)$y>9 z5HN0+)bC2P7`(h(+%Q_k;otGv2hUR5;p0wzU-Y>$SAHeHCv&C5aA{#vpqw&lu+S}| zpH-Ak{5u@odD+RO2+P30oxi#WA^E(g#JkM^`AgU1t4u3HL_ht19zR8@>A{u!W?M}A zdRUHlO3UcZTlC@ZH{%-B{_A4d2A@)4Kd*&s5NJg)XAQl|)ZJv}5AOU-GpckD+hhZ#v5`gD|2XLYF4ypGU?6>iQJ)twhtOS$6~rc?bJAu z+Ug>Da9=+3G*w%|%l|Oa)Xa!zj}bd+j7@4wLgi{R>b5kmyPe(7nKN%EpR#6S7YLLt zN$#TUeQd^xT8||phWMEUY>IkXA;*a;B64$DwwM0D0-aKu4_q%AcGVPDJJ*Ark;weE znQ>Ty1e3rE&MGSmg_klK@A?o!b)cbKY6~P#q>a-9(;cs(f~U%$*Xj1xU?DY3sT>Zn zZ*5Lu3R`0yD_Q=4Qus+3Gc>5NYos6Aok$%+r4fK6KK!}4CfX&GyR0ZX!mO4evNl3r zB>w_NiF2>8dXzf9TYp3hceazn73~KGuckU5M^M~R?>0eHGU;%zPlycZZ0KHg%@`UM z?`&YNI*1xpLp_!PkJ{!BS~~Tafd9cR*n)-loG8Vf(8s0r^ewC0pCqa*7P^to(prsP z-eXfkjGc>)7yM%#p4kP0P_1}d_U+1^hOb6^aBvkmt^hx>>Idje7lwp1r@kIPeB+vz z?xcAIf&ym?@W?l48(*byBvC3wt{o4qHD=q-Nzb7>6P?dtds4i-KayOY9?CXe4Mi8D zJ{WOD$^^fbjipL0HFic+$t5Z(J_1p)yrh-~CF`e|ub9LlrPe6-RBwDWzW)gw>=QtH zNZ7?3?r|3X>UK#VNw24V=WeY7wFv+IfFhJPgU?tEe zTmasMS)}MoKAMR?c!8R{L!`znL7m2)N`9{T}HLBLXD^e{pm+ z%D9*Gw*DDa2J-N)3JVJnH+3ixBzxYIKXe}S&&#ySJe2x=!Zc^c-Lpk8_~=ZPvH8k5 zRgzH+EZkT@h8oTQ1Q2)o$ z#v{EVNPqm%c2uY99MMzTu#!14i=E)VCnb^e?+qjMI#u8Iw%NN%CCY4hoJ>!tG*#BlQs^=(HniJ+&s0A`}m zaRSU7w+nX;x8E!})t&}vlQlu2={W@1S+D#Xf5gPMSp|uiDEE;H@=Hq(|4`NK=2rz_ zImKB~c+A=SY;<1vL6j$Xyv$KN{Z3>7K*TS;uZW{-Be%*p#glpb9ucxhiBtEW7*O`C z$<>Z|BVlSpQBXkV)6}C^?>v&H^6jfPDQ3)2_9YKL9xy~P1LiudtP(S?_4S_$%l*+j zTeaJDef|B1Isk8f&y7Tg#5n6i)i#5F9Lhwlt=7$VEiL>CLTetYeYtG9N$w9dGs zbi04?2cekfVrKlrXs_pfPnh6G13^kXu|lb26)ji#*WG3H!a{e^3}I+Mh%iERW!5vQ z3=7vw_JbioM>mOS%0G>(l$71ps|)frZVohp3YJiz>_u}gj}>jcIhs9%3;?VRyKI}D z4S=j^;`m7P|5Bv2xbyMv#dqhYrN>uyP>={3c`D+&i>@T(W5p#%5B$iJgC9wEjRAg4 zY5)HJQ>(Sm&uNu&CpSnMxEfG~6@hlAZuhkg_HYT&vEh8%Wt}> zXrEkvbAv!h4|kqw%0-4x3n3GPDktI1rORK>JC#h{$XskJ_XlH|Y58k`9dH(}Rn#W< z=l7OPX}&ZUwza#Lkhrf0@imCR(}(BUWQH4hHj+rQ`Jj*eEb2btC5oT$-yP*m#iS!7 z*~q8G*F@gb%wDgplf0j^6S+rsSU5j3+aWtxUFndhN@QNnp<6JjcR}D4aS;65UE5T@ z?YL6pXiU1;{&cL=1vaFc&RulLL&At91m3IDc&eJEB2q}g`4aLP(?%gh_CF|fcccdc z79(^^y2FK0!o7?7WU^f(Cg@`n0HcKK%EG@3Pl%~+ihY0T`GF0ktTTFvp2p=91-^=s z@Y=EhgFQ9Is`aiPZ7!m8;aAeET$6<-Spw=B$hrOCitPYE^(GN^XXQuNj5MCl9rPY{ z;a^LN0sielz8U$nx=5r!n(RmtnWacNo7(x!Cd;=RMbOcs*HYi>n#8_ZkOPW~GJdbW zbTx#(m*Cpg?h;#p{=Dt9f`|RX4$K^XRty8m8trNSN6Yi(?3yEQ56G6dNB5=K)~BLZp(fVg-U-?wSWfQ1nl$57 zb3w_?*Me}Y_7OhkZq12^SA_Fx4Ca3IGXm{Z!n!?FybS}n$1K#_j|Soy4hWj>U$8*K zejT(G?N_+IuQ_hjeoyxz3D)4~%A~@L@mS=bnLatT)4|m#zBT7kxUVKYX>(~?ej3Z?XXlTGQ*mc?#-hT7^>X})#!brcyVn@JX9`jhOpfDg zjEloFiJd#JM~9>W^R3M%mv7#vOT3Ls3=4?$*NY_np)!Tgx5nNz@BmSZ@Hr#kvx*nhoSRkyVDFbB9y#9a%!WixBs(aKsYaelwR23!dX{p|&LlkYYZ{3%Epuz_sLftZ2)m}C_-5n-w!WS^|zbHgXo4e__%sLUO0(g$ zr>c_Ehb@!K)=JFlHlb(-;u*N?8L%g;~F4qkN1I=b71vv54L} zrI$P{10Q)IudUAwY^{_8A6sWjr57pk>AN)1kIa7y6neaT82EvIWhZ%A+36z-?RoHR zQbHCfq*St4v=xXu5~ zmvQHfCv4Il@H)d09#SHS!8;>L4t2yX&~@*31i4}Be06g`JNu^;#P^R&cqJctup`b! zP>_6rro5e*kcYo@wri3Z>A}j-@)I7G{S^u+;(R7fd&v#(ArBpwbup)WP6m7Ye$U8$Z|>_8&yBa%mNCC*UcIK_9p-9-2Sk! zmv(%VI;F1+>!4>T1+I)6w>!3Wv2sC&{J1|&VWm^X=ffh=5qy=6?UZ=Q zv;6{CkPZOiR)Ajc?;i~fX*FH5MeEr*>8OXSuvIREf29~dJUge)Gbc9Fql>HG=#d|?cCFmas2gV^g?Fh0C|PP&|>v6mp0 zD3dh*c^*%^W)N@dq)a>1YSU%GXZ>(fhKn2yyZWW`v^B*6ol$Jc(>r^&$yrhvM(?o-2{T55022*scCp8(Wcyo-90}iyutjDr z)!?u9l6UOU(nv#$4TCbK1+PL&7@=Czn&W1>>Rt^yLz36+|NX+n|SHH3N-30gRSGy zB{itOMdhRVJbak)Ck)h5D^3@WTE8sKkzCE;&6H`h6^&6b;9$nILu#~;%RVLl*cD7o zP7U0*WyYEeL>C&bw|QpgMcc|^V~7Wj7RnkO$d~O%C}W(hLNYX!DRPNK zYKb(OooAdu6xb8@LnC7iR5(a+Je) zZ*()=?DQ#fPb#~Nk5cc?Rkr`ks8l7f2PBmlYCf}x`ld6cP&}*x0Q0RsM=yi%MHGF6 zS)5W6+E1H$Y^e0`Z0A=Axyo$=!pP&?9yKQwC@D` z|82qUvAUF7%kcLj_i0zx``@knY*+67x`JRLJ4_&*-O2e=1^UM*ao|kk;lX*+vEEXj zCoir|HHOXMbk!IB$G^SzWHuihX8+!=3ZChX4kp`No#B`5On`~X72GmW`V%Zx$(d}B z8$hn?)PiGI?J6qvk0U8&3oCUTh^9;=1Kl+A509#KCKyw=db&|)w8hw4~rbV;6?;T##960B)A|d*Dhhd^@Z<8~zWQ=&N5X|)Z znXzKUtZoz|7sZ#^M?xMryB$1mOr~A^y!C9=7hq5K2blGuv?DmnQQF5Q=gNKj$O3VY z2CfXM`Q(&&aXMov3z2FXIFJ)4;)_%~alWO`&Udcw5=6PIpH1HCFq_=aV%SWjw^5G1 zLVAEX9DHtWwB%6uY;(vTu~`+Qq@igT5a#H%rIi&#Ss!RpB0Dosj)tMMx3Hr?=$pW% zlYq~TJS!`!l~qAvc~-sar@#H=;iq3e#)B3YFXp6ToS6b*O$a7uTl1Ta z!Tc06j%)l{h!->FUyZi0h|Hu9fsRAda6sOiJ%)>mI|3Z}3==6RUybLfkTv3iknFYE zzR`9S7-D9Vr%kueF1d;4vQk@oE0LfVP(go_6>DT5 zS^TIGBu2_BEGo(d3Y(yWA?Z&qBt)DyM!3f*DXCMyeb2n8-E{({<6pg@VBz?^(w|l? zk2o>}67B*$is7bj7x|=fyFjesY}`p{KLbhELmerf-c5sk>7*hC{~%#-R_C-7_14a= z(VN#`@x)hvW8cYxaaw=$VO;9p^(m=C47RDX^b9fGK<_-v7;?)(CZjn$yNsv#yaoZj zAXi?{s3p2WHLtSX+IxpjG^{GKZ}15xG2qTZ&0I@c#-&VdI%6^jCVFwhLw~owgGcs8 z?0=k`i;sSZP~wW{j`Fmi?dAW2XYgcj74 zdTG^Ycy~w%&H0dTKzwmO2?#lWMb@?L_zUoMG**H6Hw4s2z?E~UD$Wj`UDTCw(mPFI znsCy8xciGIUnm?H7+7ZG0-O4ovB1I{vQEXN?NKB=_zBYSy0@B+v%5lECKCa=&VjZs zUq)b8^0a_X|JmeX&?-KyN|U-SJsT1_9SG=hu(!vd@8R&+ZLUW{!q#!;ccG*BI3OFB zfzukg@Cjv?q<>4~6UyN}U$6S-&@{;ffvdf#GV7|RU#ajkXro_>A>Iw3lNGiWE5;YJ z84#nv4-1_tmMO&8*!Y;TfK!&#`CIk}K`^5TVqPTGZ4upLA#ge7m4v2IIo9;Y9why9)5Th4KD|P;`fQnB0_)+(cYjO6$v3n$x1+4Jv^%Xce=(U~Sm+(ht3MiEQ^`+I>ZYLW*ko>gn`VAihth4zpk`eqf$1#gxU@QEqAF9$c(E>SZ z3|%Um5L8SLPIjJUa-5} zuRaCd9Ynssu9#fY%~h|l>CG#-FCji9qAkrQ3fcy`UUs2S*_}b39x^3aNm4rcA7|S` ztS-rZd&%14j8$Nr>pF3`i$GYudJ0=9nq~VBY#b9F$CBqATwC_m^@&(j8@T!Cjx<** z@Jn@Dat&btnQeq?pH&Rp_Z{{0u4{qQIkGb%C7n{CSXNO-I3ccz1!7T;*b_pcBP5Y@SRFe&nhpTD4 zy{~G2FG~lR!-+Z;ZFdwruSGJvZDCHGUD?Yq5@*5%OJ20q@IjHid#sM6d#Lh$KryWCDTJ2|F zi)(jX9pw;bf8P6k8TV!wNSe_q1=a4JZBt-LrI_+E%nt^h=gT1QjRbxh3I8b5*58q7 zfj4|$3D(hJ@l5~Sxm1zxZ|rAV+X$;|Sqz@GZ*Ac&BP?D#Ha`g0-luZ!F%}yg`q{(f zrMLFH6qeCba&xN%y-06YVR^y(?g^=G`#F^=Quzz+c2dR9o%}g7Pfsn$ZuV`chNk$R zt;(^=?afHpqu)q4Lqbd$q;5e%XU_CoUAfW8cnj>Eulwsyy^0>*<3=5XZa`qh4nC%g z@B4QfolZhHM1yazzqjn>%L6?t?!(5WV5v_5uFDTE zM;qcBE~QD)2T{$3l(r>5YIh5NdmF=bubc6L08Jg<)qRNZ;F>R%w^UZ(r%ll0-T1is z?84j1kdTFGd8dmH3ytg<^kaj~i~XxvQ`OP#o7!n^hJsPv8lBo>bVqG1s&<;3wg>hZ zTG6r_6T)>PjEO1$(I^xYS2KE zK)kFkR{8Aw!E!-QU-qC%ZSv4USV~5>CS4BD_FO95?GJpjc_P6%gE~G1-}X#XuDv;D zi4n$yzosAhv9uV<1$JCRycm0j5yoU6$*)j9pu;cZFDO7$*XXeIMZ~YQnjhDPL;sMMw!i_3+7 zESJ#5!d``9WMI8qJw8~=;`d0Yo|+UZ{?dk&f~O%8=VnM&>iOEaCqD=ipEj01^L_^D z^IVcXdTCR6T6L=QF8z^vnPw6@XL@qG{MG7dc#l$~c}I&RZR8%<&Fhf?WfU<<(1jIZ zmZu_oj`Od-@A@F`A~h}TMi073kmqIn;`*lOBe2co2VH}b+3~<9xB@7Gka}Mk-CQ0H z19qYtFiwLoQ^O)7MNXapikh}gdp*+yyU)BnC{|%f+8Wr?0-xZ9Pw@{7$ROFDmpG zw`d6g5}^{3XnX_T2R1O32{sIkosr5xsyC4f< zb6~`ZtWk*Dyf_T3+iUl$X8rY29Lw4`c@K-H2k%g&tXWGeD~0FE*lonH63xz6Qq9j> zY{rC^KyV+A|6BlW?#r^6n?$$Rs*F^oL?#DLe&O>mr<0wqP9%jJg1Ax?+C z8=HlZu+SW)fDfcBz8wIE2fw3NmpQdyn4zHwyS~vyDKJvi-4DvQ`ws&i)I;i&a>7WJ z<@9TLR!Vq<4@G9GzF}0lIBP-`W-bbgE4FIXk6vbo96>;+V4oIb`Hn9+K+xRFe=W`~ zqO>?0ZR^#BQ3~4k*w`dKim)(jXk-cNltrTEQ@ zQS%GVMVfEkNB|o?o_Dj!Kc{v-x)8MhJ9iK7yH&EWA2NckXqKGo5rHyJ_A(k3_=H6Y z(3K&bcnA>~U7fYhE**QR1lA_njCXdap0X0)F+<#vKuGu_Wzly32fkk2dIL5>D zv69D0b9TS0s;Fvk!qS1IqKb&gYPN{E+L?=m$!V}@J>la*k0jLC%){8$mwpTn5DzO}w{NAj@}m`mOl7DV@m0HoG;(3$*=0e?Npp zGOOp)-&x^4Tpxk@?(l zfSwf;V!mkY3bT={0Nb}?z{K2jzjBJ6l{NSKcYmgm8h_xFg#a>eQ0N1O1{=w8YT%VWv=&`91@Y_=Zhb<$3albb=$0j8m0@mY7%F1XEC$E~C zq;Gd?bija;sQoA>uC(#u1(4V4Ts_9X!RhFUp>hL`bA`je(^=DgSorejq@N8m+HM{J zJIIM!od#fd2+7z%%l~ znV)}n`8FR3`{xBn;<`-;;5axq{8%MY#Ed=>9{SWK;?AD_oe?uxkKAWL+21D$vkUsc zMUgTrEBRuF&F(DPr=#T+J^$J_=`Fi`)uj)ZZxeXEgkQaSh=E>iQY9Zp(-8a}C4`4E z{oT^XI@}K}oxFz7n~d}n>8u8)={DlzeimVShV14`@Tv66`&tmUr)Z`75K7d(p9>Od zFow5fxlg;6X)Swh;?5Kr5oR>bQZN^@IQTlB2^a#Vi z7-OOtf3?c9H+=X$)y=3i(CPDLEsbaXrjA`!{50tT!o$T+O*8`k`9`al0O4 z$e9L6D!S$I=J>XTziHx}7u5PF1-PznY?Mf8p)itL+Na{#Pum@(eatBOR@TW$2svou z6^dGXMHC-wn7F>(^6t;P1A$nP7mkZ=qO7>XI2GkYgFYK;Vz~U{n=ioW{MY+ltb@i& zec&c0t*=iC*__F|uPAsIT&aNhI!Ft-AWbA$5+NtRx6J|UAg7?`_Oyp8s?2^}9^xy$ z(isl%v#+hKo%6b!Kii*81STLi*_Mo~tPq}r(EZsM#2pZH>7GLTN`b%V!~LPp*Tlqb za31u47=u8>lMk5TnLpfJHvsEWppF=wn%WPn4!0%>@p<-o>%`VKS5?ITHhN~j9<||O#tImnR?3y=4O#2eIcC+=5F7;|*;EsS zw7=dh26>7-Xh5`5s-BppC&A>eAhA#Nj4qFgsy^84Z)kt}c3c@#;5V|-hePEE`Tefp z8>iQyeb^eJ&;=i9p~7#Y~YZVACH>(V#i9x724k&_r^0j z!k8^ENE@+Ga6O9K|26M@+-oxi`0y+}tq=Pji(b!heB!GnK3281kcpePR9!jQX=y}8 z7dokM&$FFk@Pp5#W?v5tF=m!@Dsoc|@Rnd(8_ZfK7E*)bj+|v@`av7{{;i3@Gpa~B z(x}3Rmqr~b+Ul!0zWEDYZp#l%IJdiD#oAGrL!rAqeF$S~hUNG(-||T@EtEmO$x@0{ zNx=gj14Gz+y$j3{u*-mST(LWDsX__391MU#g0yI(i(HY1ppj70)91U(X9Wg67r9!3 z0m@bR`T0u|ng+!pQM3DI+oL%X%~!zFB?Ux6Fo5;Nj)mnJvqF=o+Xn16hk&Vv#Z(Ci zXndvyDsYV+m(X@2QuyV-f@a4H8w*QTK>_r-6yE5zwzldzjz~f5EYC|W1JFebdt+$^ zQhB3F^y)Llo#5bab2F|w*}Pu?i9N9&Q>^BI?27<;=H_<3;YW2#I6FH#<^NGlvOB2V z#KIhrg`vXaUnOQZ|0QH1O7?NS8^0cXxfq*rIs${0pDlP~Cyd;FgI)MJ{yt6389DLU zP5ZOQEnh4j1HT_3R=h+aI?v6HEqI7UGkG(Th58}(#%EtDR|uDmHEoqm(Le02D5W@SVmDaAAT{*|PTFN%E*6_k9d|ceuIy&;NUOfX#)(qGNM}YT;%v$3MI{uR|siZM**Xyy> zN%B5hq)hZPGDdR8MTHCEsRjoJkCvOr07Xbk7A6*!;s;j{xdPML5Fp0T*VhMen*Fg599Nhk1j4& zhnVZsMn1#@MkkcE8!v|E$Ikw3a9n(R3~=Dhe_h$l{Dn+3qo+q!z;Ua^9~OBUlxTq! z?R#MVJCH7z2u_!EIaiJO%OAssUFr;< zEQ^>&-}cQtz_mXtK-0j(2d?hrfz1Tw>cYuD!Xtvy()0E!b@Z+6Ih45R0W^ZBO zM_iPVi)i@xa6j>emV2Y=_F(l_KkMp7s_h2Epcv@#w)EW9O~}2~#pM?^heIK;};^>9@x;V6Y5++=T!E1ccJ5eqhdPCy*}mcy|hVL<3eY7=%l(S0u2(dQo!2*O>kW1L&P8hIj8sU0-nV))waXn z*P7eZt^{K4RHy>XMGv1%4+If=M0TD*p#$yw0Zoeg@< zl`n(yW9YDtd$W5aEB(QW+&pIW3*Hg&^UGxuDtP&DOGO&T>}wh1-_jfP*z9KmT>$)Zgegwa)w=TE!Y5;tK&Lp|rHQtp(MR z+2;lMfhrZv=5AdgBJ;-}x3>yGNLV6=y9ixNd6);QH$F1!=Fs;}_CWl~nPhT)+wOpT zD*>=qkO8)<(a|YZrPb!gdp5Ba?_BSQ zggX4+-?H=;4F%(vcP}7GZ4}Ad-sz>;B z2DSct02LFBL_jio;g^l@MQ(eWfw;wSxoMWs(J6lBqZ6G^+87Cos&n>sDIz(2kEmBP z$&5NIwDaR4CRopy=c%Z(#x0{a&{q-y%X5yIfHyU zEu#yIc6@hQ27apbY$#h8>*xqSrI93WZjh#pU+O$jZ!rHQY7Sw%v)5~QG$plaX3WgY z|2Y@jsWOqWK#&~!+| zvB`IZ4Mc+?%bQ}5f9Rt)nm#><;uETr*2-G5-YO?KdYNG zH_>$CiMwl%>l|zxL!jQ$+s9guu%9pxT;o83E+DG(2lwfbxc+;j0i^JL*T??GqUns` z$;J@SJl`l%{`CvyKldc}7G&6vt2pkdtqU{8%&zAnWR8g})O}++MSJu5wV;%2Xw@fm zHRdUOf?>DxcIdY`Ph9Mt-v7QsGBVCxJEQztRMo+1_7RT8%^pa1M&zP!LfJgV6FTB&= zB84Crb4yKvM+1Jy5ydiUMF2Hc{D9jJb;i{oov(IpP6D9Nok zj=1G}fz$qRSFqh#7sNi%awT;l9_ZL8S%z$?9nQ911CZ0410usyQeBnf#P?RMOM=YW zeEkA?%R|^gr6kKdkKOG4r|70jl;QpqycT#f=Yl?&+2il57Prv$YknEvccE-`bqarn zafE$(`;;sakXx>qp4Mu*-XH>@2ejVj(C0mnE@nPrkmWx26)nA+!KWQB+YK@98h%7i zAm>xl(YMlz8(jL_q<1A{$qQoCTp9&j$b7^^q=(?JE8v7v0nyEL)kh)_zh?s7nis|7 z_IT_{*iqe(4(V-RoChLIKUTTtzEQh@i0VS7>u;f7iFIG#NmF;)D?QriZa_*fkjtD7 z{7NhgP^=4SZv{=q42+CzyXP6MbeQ}NO@ zN&k1*i~qa0pYBR>E%0CH_vu%FT5thFMd)+iaJ_d;?dlFOMy;fzD&qbmKP9T^=ogd%)XV@TL4x!M*B$yw( zzh2y^plU$=^pJOzyWOg;icpU4a7sqYP7lW}%%>++qjFQjU!-+J61j-_WAhWwr`+My zzp#W!$7sZ#mI=%--Ix~Fov6Z64^sixl3XCZP^LDl`u^(Q2?D;!f(bl`Y|9y;U^;_@ zrBJ1d>B)tI&-%Gk<)(a1($jsUat(l8C#?#n@FW1IPyI(4?N5HB4D@FX@j$a%ioXiC8V&2}DzQ&mp zSGSu^*wDD7$Fotx4mE~1oLP=t<0i{2ePNv2ctsebpCrf~F0x8$-uFi!CQw^4rdwRm z({VrKfd`&fNFbF6CDqn#NbTXQ?^%iW8EJ6RuIoiuR8R4{otDMZaa&?vxr1O{HxoCw zYa6J5n%@TYvq}>IVy612?MZsr_%iBj%iuJRUqX&uF^y>R zcs$j?mF?h@ja`I!mr~GNV^13(|F=TDgIRrU-6*&F?2tLVeKy0YhI8Vz@OrG#INy)$ z)_rFa=nmaJJr(_}TLL?C){Vcsm$6BBhmUtkX3bw^X4dkOW31sdc@*?h+V^rsggmT% zNi+R3kH9IEIs)p_@-{=Snuab_71>{>Q}Q*-Jb$fp=eV~tRO;q@eu+a+u2?VZKf!k3 z%OR0GT5kbtfs3Q+^D*)&eoFYmn_mbl{9U8;zREfGAYZelY-|~deissJ2u09=Lf9Ft z&Ly{))QuVzMgXV9o-c~87Ee&p;KIo4o``#R7mpg=@?t(cBhn9r(3v9u>qW}@-WIb< zHkXfP%fFbd+jH$5excfZt>uAnIeA{9bYW}a!fy5+YZu?E>moIlFjMj$Di&BHGof%W zK`V2_W~}!KgPmDt5!F~hatCyRe7@=BQ>cdahks}Vyf6=a8bWLZ&zHlD^kmtWPK<;z z-(ZvIOX^gnnR2-qYEPKs6^$HIM>T~Im3%I(F5VXM4cEdlwqpH4!}D7LwMItxDy!YP2k@*X%3?IEOg zYulSqN>*u^ZTU4u24zUa$`N1F@s_oIXKGL9idv;qxAS7zg*|hjine~?Tek;n*xcP# znLD8$3r~EOgcS`5N~gT;fCWC?|KH%wI3iA8uU2Bah61w>sSj(TrAPr+TaBmg3z8;Q z8lHjXJyns?hUTvmZaGkKm4`j+RIy2%*G-|q^|7AwgDuVZsJCuL zb2`oB+XZ6m2`mFLObeQbBv#3)>?G1K;fDn-Pi0QJo4pZyoIJ_Y@)eB1*E z7vnMA^m*a9&t^(7hcX}1Wy_#(%GU<>JuUe|fW9eVKN(q9DwX)(y9d0D^@Q81OAR}E zwh))Jc~_&GVJ+TOy1CI~_S1*PC}XNfnFEE@lQP4hW_N_c`BX_p+&JQMHE7@7JTjZj zdn!Fw;~QBGC9)1~QP2Jc+dg`p{?t<|5Es2(F@)>Hi*2&xVtu5XN>I-htdHi&?sAk_ zp!__CO8TrG_hfX@^uQ{0dj02TGDThfR96pm9*yoGzMX|z-BdS|Rdv-{Cbyd77)EQ?c$)8BWMMpVq z12!J?lWSi68@>7PS0vAhbU8P4Meg01-WBkFj15gASs~=I5E^m|Pj()zpGL(_Bpl34 zrTtVas=|)NmK}A@g15k%%-x=QGJfuK!$=+RzOS+D{kEvvMN{>W4zpH+enY|sEcp8r ziz(Dxn|Ed|UFOydCvA23H6D6jaD{EwfGwuZmEGS0K8~cAZ#mL5M3}fk zzEr0Xr|9f+;3c{neWAd652kYNg{zNKA_V#Q`aZgyq-d@z9Ws+2pgv0eDaE!HHgcjI z{YeOu%xSw6R_zdBez9n^hsT=~7KPU3SZ|jM=UiXxj2@KKs^}&%Q9U$i=K@=ALXAyE zf|yH`*#E_1dWWo=V|m&wM0x!@>kF>Mk4^QY@0?S(v?SmYeo}yJm@i zFisH)p<#%vy;kh3*f)QPT16ilm1tf3_1iSJf~8%{L@Nkay)O|Us{(dUp((nuh4g+`M zIa`w4*XeQ-_(jiC)L^6NxHw5qPtQz+SU7+-p|-Pc0cuC40;VAl%{oueF4llUA;9pp z%%(_AP6lu(HbB%=yic(2hiFIJ{LwTuG)R4%_&a6#=)1(<%B7_zuH1wE_O^RsJ`fO3|^ zVFIVEt(~2da|{raQ}Bn&}Am)n) z<7^d&)6QGgx-CjjCL`RkA9A;;PUSG^f(XQY`0(NUL^)mH7?hdd%Qy=-!Oc8e`aC8= zq((vY-R@}V6(|Zy0Q49}FQrHO#{)u;jyS^ZhmSS<4ygM@8YvH&H}<28w`s}O>24d< zUfbp^t?7&9buDezqM9f4kik@11&|>P6;%KbdW{Elc{MP$CQ-s&bF~i1946A4{eruV zpk(KH(n~k@shgzXY9-u{RmSpaDFD5vzuyD^K_I4pf)v6k3|par;u*=(&X7$iuPvnV z4N#xvo6c;P1-Fpv(@id*iN&0NErb+}w|wlH#BGHa78d5mDs=}$UdQ(oLsIeB%=L8Q8z@ed=siO~LR$G*ShCVf_bt1qD8hL^#T2C^ zEjum_r|S!m3_uz(6=DP+qY(S`Yhn9y-zKlylU8`L=Vgq~wnl!ygF*bs-B+vfO(ZF| zH-<_kG$I1U&`E6_ASOAsi%pU;G5{pQ-?D#B&%p4EoOw^ObW)xiY@xvlthIq4YlQL- z2yiVw^l=DC{R^D$G?Ht7ovVu-KKp0_hkB zfPBE^vOgmSZ0tWYJz&0#{FvMX#Zm~V4@@diFG z_BR$ND#AVV-Xa0~~*6+zh(GNjIj3xgl4=etV1&zS(akh%xQdGk7Iy#;^J=R3p>wkMot&H;WX%BwxKx&RRnMPpXO|Qx zoq=m~08lCbbd?Xek!TF1N(Ot%T#J)7WVYz!bQKord6FYU{KGY-XCzsCs>*RElo z2M0*zubTyiApkh`q5Bq=)P0VP#lmCLSJctb@nyp1_t>gNfXqJrLZCwS>FQ`%ryq?} z2tmxz(UDvpi{Hdmh!pa>!1TJ>HF%V-wwVX7WgN)ab*cE=yeVnC&;jC+{F9{y;M-2W zi6uH|+yY?!`fN-ELL<;>bmuPAEH%44n7=z}2Qq1mb?#_Bh=6FI4D=bDlAxj!5~M+? z9Z-=G4Najzy!P6*t`V@4%K?QPN}bx?`QMHj^GZO)KLWFNLMI_UUJBe@F@KL#cGc(4 zNTgn8uR(zuPy%#|HwLh@m^6wELDjc1K}uR0iI1$I1j;e0)ejrt$qBBtBv^Fe&t`{H-C>Uo_{D5mknR9a1O0>~Ncrv0Ni3WVI2IKcnPkM*!<(@_9)Crtd1_P$z%2Ur*| zCk_k=fv>5nnC&L>Q3QO4VbMp=^UFMWuoH3@D?>T$jEDWLFdqX%eCY@Rzp33P_7^p^ zXpkQPQdn|kCOHH@0-F+q0~Q(?ITW;FEry4Wx$zM@eR-x zg~1WSKj?uq)*Cs{IF0p2u53zonO4++ZfI*EyJNy8V!LnfeIi|OoFtvC=m~nwwuOy~ z&DN65s6lG)=dDFf6J6u`iP}Qf9b10gizVvd>D^M1Yb(2QCa&-_adfR8a*E2|^XBs_ z!vuN1vMiFcDDfT36`X}}>=09i>?be2-YUmPPm-7ao<8#~RQ8QUj7MtPvB>orw!ZhZ zDHtqya6VB_DNT2ayFg%hyFae|i!^_E&4g0)rI%+D;sjV%S$f}q0(js6-^I~dkrln%+@s;z+mj=5>)kxt(wxvcHQWLMc`GE&L=6ark=iP=kFQ<2hJ8!hn zkBtU|2bw0HnV~V^d4{aIv~M9sSHxLVG_Cg0iMF@WPI0jP8i5r9q+ z$VLY+i!B#_jh@|ed*H+M{rh)-<SUQ<{@>0^PG;DDVNq8a(Ev%f$F96AoT3&Um#| zAKDzMV)se=GJn$T4l(~iE;=LJZE49Ij)sec8tZr&abtV6X=`R;hFQMB{=)r!@ukv- z56#kRC3;=74(ykr0vRH3zH&4EA+DeP3X~`lDWsip;jyw&U%NzcaSXa(UR!-L>iX{U zOV|yXL7J3|^#;Y^=xxT05+$7B2D52bQKu*06{3x7z9tP&TmNtc)E_F45fQV%Dgp&i z@Sp|NK|KY?XlNS4ff@tG<@v+$vQQQ%)uF%H14Ll3%h$|fwtwoF{bDkqt6Ec#tJpj; ztd~`{2QKpv8h6T zn`aLMT*ao%gUUSxc6=8?>|%}V?5K%u{&s@iCC>mO2MHCboUUC_RNA?C{5ZN|65l@>`Gq@_$df^MUORgesy4OPv5WJ)tFcqG5jC2rtS&`z>M2x@ z!8OVovtmlGb>iH42YhV0`Ch%K0TYuZ#G1cNORsYWbY#xg(9KAhGMc^-B3FF+cE>CJ zPyG>e48%cNp76{a(o|IJr(^ZbuLPr5_@k5D87#u0(_;eIINATk#K4DbeziXJI&i8# zhF+re8cDT2)9r~%)L&lbk2+1QVVh1`eHU&b#APE7-G4oIJ;0oca<1}yjfLFnYic2> zXUx>*;KoBMURA>*roj!@=cEO>Y#JB-gZ!Y30JSjI>5dd@AF<^jqx%i$?{C<$>7u{A zK`5UOD|Bit@0gjxS*vA7MzX_FvM%<+8|jb^sK{(_nYZDU;xE)%Ztxcs7EPQoaQE#m zB5V-0CAprKt+io}^pA2iDQ3IqF{n>M5053_RenSJPn{Oj#!eyX8!W>ak~$5EdW3>r z=zkozdYoxuSIS1XxG`OvgAeyTxKdgEl46a<=1)odo$F0ZCdCSl%8o*9Avd~0utY&= zVQ=w&wSVo85?lI0flSc%i%0-*pa&Ae*(S^PuV<4Oe*P4X1a6rvIkMdW3Dy)rDG@>GozSIMArX`kK$_)B2Px7d zgepxXC`eHPMwAwc6v2WB3IwDRK)Mh_5JK-&DI(o>4hZ+%U+>qOA2}x{yV0Oub0j4Nz?Q3r-hs$l2}<&p^G-u-=%8eTiWqCV-|ZX z^YXpRjhB=)QQXFli2H7s_9aLJu(K>kX0K~BA0q+_wH7}2@q=fh$Y{YPLRzrY?`aal zguBo{cWO~K^_Flc@TL|~G5MP_>hYzg4Sigr@+&cRwFQZZp9eFP{HJhjHWs=o+yFC^ zH(vb;trlwEiTq9{=Slu~zR5N@1cIJU-f~{Oe%Zm}4y(OeIJB#)PfVb?^LLqKARG^o zxH+od>dBB+139T^ez*;Toq7pw*b7LBMfGK-BAflON#+-#q0PN7zAy1f=7+SU8hPVy zUSq>)d6S}IOeSwS-0z;WA75!tbgiBUzqnk#qYAeoBRfN-r*-k4zQuY$`iUv8*9C#h zvqqGbr4W*K>D=WUUWtBhWO}B+>Bm$gZSA?# z11$s~lC|%9NkC|b$GEVnnBRDkUPb$o;aK0s7F zZ*!*V38`*MqCa%@*MpZGgkVBVO}(SWgDe>0qLPYY`p@Yl!7tImYF*)s!?xbvuP*=^uaGqm3lyX+H9)*Ir$MNdt(!$yrBn;kj+Z}G;Mk*+R zDiXeBdhb5KS5S;K!h<*#`%X`H34{F@qo|_96*|T_G&p1Eo%zt3^BdNUB5~rqwV~6X z>90!d+XzYpDRis&(7+R)6y-e!ueF#QQ3vkX9^>uQyJbp`>wxvV;XW1~tzgN*E7ks! zied@=O=6ecbWBF-G35efnZ$R&d$T$Vp5&!{%X{j2B2lB1ZU(~>&Gw7b=s2g8Y>%e8 zXyXRE<0-fRhbuhi-*bL>5mrm`vxdW1DjN{f%{Oun>(TW3LrTDDM(mVrr;n{iwBd~r zBg0H*jOiXkhw1#_pU*7g8bqepUQS?l85e9grT=4P<9s?JimmS{y7_qw(qw~|z!}9# z{Jh0N_XF3KYnfoL2-EAvIHSNSgBQ_*Xtc8 zqFK<^qv4}-x91xwu>tCrNbh^-voy2cllXyc``92;vv)D5L6@N^07wZ(Daj1h6a=!S%PWz*P0?~;ezYrGAZxtPJ%NXO zR4dt}a}<#FF0k?oV9vI*Le=)pdCVzifWQ|pR8`mxOpcElm~2#7=;ORZW}qz9U4wEP z%V_|&h9FAYUa{_&{;L~-j`EAxJBTfFGIqKKCw8H8xyP*EUGyyu z?-YTDJ>RZ86MubWmRuS-?h89mBm?ZzHF~I-8LO00L}4c-TAA4zc4Q^uNS~+ zhy!w61$9!7&%T`HC7EvhQNzIRUq-7qIbM$Ifl9uusDO6@XZsGQC=jek!$aa41Nv=d z2(jDc;pI8$&nMm>?`pahYiK9{E`<*$y9`t(vh)t~XhraO#PM{GRpV5Qp;tsDR;g$h z`GZ<_4gTrTJlcg!PDqw}tos-yQo%hPro1To`;PdgXL`ayCM`80b!T7>_UJCTmZ{sR zRG2@iKl88BYopP zcA0nh3o)<7p5OWn@kjWJ#&Rm~pVNQXr5@B zR{R0)%kLjwg2>vl%gu3w*QZUC4N6&QV{(~0)*32OgFi$exbxd9mPt1PCySFa00mx) zbK?3m-Yh+dkT1!*yaJ6~o{Q(0_H_I?2aT28&XR8GXm;AobiP~rSudFVsP@S?p-w8G z7bLnBYGq_@Nn$d-JW1reZ9sSxsHLoeQ^Jn3QTG`yyGRjPEA{gwIrQ7%b(`#T39L_d z%0DM1I#KeW7ve-EsHGM_{=|3F0CthM^?~bBfu^JJ7QR5C(Dp`+=Obl}oZG-aGEar$h zGoMW{{h2#Gy|Sgx;F+Wtil2T5<>eIX#WY;`$>@=Hd#j_&PnMTONEVf{@7ijA%D8fH z0K0SKahp@Sq_S5_SEX(E*vXWW+~hq)j7R!!{vr64hsr|Z%&KSPONO7dg(R0J!}Pwa zb*^r?=@wGf%Z%h;k^L+Fem$g)ncC~Uxl9gZ2)HI!VIFD0Efc9sUqeyiaE-PB!v19u zV-ppJq1%g+|Ai+_%Gm0^%k;#d0J)!MfwK>3`w2d>ZfoCA@J;Pa`z^BnU<(#bA}VTmJK_uoY`99%TdIzavFy z49wzdl1w0zf6s=`^!3U@i#zf`E8JG|1$KfA(DwL-2z`0aMlv3~hWhd=t`&%<}GR<&dCHSQ=E&Aii#vHArz|{cTr>q61hQ_ZhrNE1} zIPAms;$c32I_gAnf1V5}rgQE6Q)R+?Odl!Uyy>x$JF7k7H~K-P)Q>1L=J_GGwtPah zQJ$bKP^&h9$RAXQ6QWZZDMh(q|a9e=d40@%i@FNdoW0WIP= zAdX)0Eh{iOGOyU!?C)X5V$G~wiD3dW*Dz9%ZA<~FA8^mh7|%RpcvK5wqs9Z2@? zYkkMPaeWKx7Q0LIJV%4w(hs8|vA=ceSkR>?`r^)EIX($*8;gv>-m*Zw( zC;axkr0p+Y#JYVZ&QC4ofNpp*Ea`7X}5Ha`PhMi*7lK^jr$W2r67Q(Yho_*d1fA8CLbx3Kz8 z!D7LWFa8b8JL0vV*Pg%R4#v>KjstIF5<#PBuQ9`WMO|p-7KmEH)JFO9NIzZ{f`EpgNSEF)QCWdwxjwQ^}9kVyeD);s+=c8>E|DJS1S4%hW zT7vLx;HWO3r$GQpSwKPkmt4C+yk=qL1`L-sjjSn%v=oU z(dl-F%XE*#Rz-L9A z@4T)6LOh1wfz48HY;C_bSMOG3HL+gsEvD`QLUT=t{|jduz@eo}nW-5XiDIp1lt!ur zctatV&e~>mU zuwz{!R(R8+*0KbrO_NuB7`3dRa2Te;TS>KbGe7&m9wR^Stg8$Cn*j>v;z5M z=&ZW5@g_&v@2q_V;+rt;LLWrYKbua^7s!ti?pQ%p>8ec#c-d9)MA%6{w$It zX({Z^JRF7X@!5ChjEo479?|(9?}ku6e&Ny`AhBW?kQUTBD{U2GTfQ(?l-|3!mDjp^ zJz@JTD)xu_$C+FBl&^L@#oV-H0HFm%$#!gIU#sTlzHZb1<&N>AHJD__I*!T$j1s?qTP literal 0 HcmV?d00001 diff --git a/IUM_07/omniboard.png b/IUM_07/omniboard.png new file mode 100644 index 0000000000000000000000000000000000000000..86f3ce20c855a3468ab6e7af9e91cca571af4c71 GIT binary patch literal 109603 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