Merge pull request 'Poprawki do zajęć 5.' (#7) from tzietkiewicz/aitech-ium:master into master

Reviewed-on: #7
This commit is contained in:
Tomasz Zietkiewicz 2021-04-12 13:52:39 +02:00
commit 503c13cdf7

View File

@ -2,33 +2,46 @@
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Biblioteki ML"
"# Biblioteki Deep Learning"
]
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Plan na dziś\n",
"Przegląd bibliotek ML / DL:\n",
"Przegląd bibliotek DL:\n",
"1. Tensorflow\n",
"2. Pytorch\n",
"3. Caffe \n",
"3\n",
"4. Deeplearning4J\n",
"5. CNTK (Microsoft Cognitive Toolkit)\n",
"6. ML.NET\n",
"7. MXNet\n",
"4. Caffe2\n",
"5. Deeplearning4J\n",
"6. CNTK (Microsoft Cognitive Toolkit)\n",
"7. ML.NET\n",
"8. MXNet\n",
"9. Porównanie\n",
"10. Formaty wymiany modeli\n",
"\n",
"Zadanie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Dynamiczne vs statyczne grafy obliczeniowe\n",
"\n",
@ -46,7 +59,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 1. Tensorflow\n",
" - www.tensorflow.org\n",
@ -63,7 +80,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### 1.1 Keras\n",
" - [keras.io](https://keras.io/)\n",
@ -72,7 +93,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Przykład IRIS w Tensorflow/Keras\n",
"https://www.tensorflow.org/tutorials/customization/custom_training_walkthrough"
@ -80,7 +105,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 2. PyTorch\n",
" - https://pytorch.org/\n",
@ -97,7 +126,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 3. Caffe\n",
" - http://caffe.berkeleyvision.org/\n",
@ -110,12 +143,16 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 4. Caffe2\n",
" - https://caffe2.ai/\n",
" - Rozwijana przez Facebook\n",
" - zmergowana do repozytorium Tensorflow\n",
" - zmergowana do repozytorium PyTorch\n",
" - Open source\n",
" - Głównie zastosowania produkcyjne, w tym modele embedded (Caffe2go)\n",
" - PyTorch: łatwość ekspoerymentowania, research. Caffe2: wydajność, urządzenia mobilne\n",
@ -124,7 +161,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 5. Deeplearning4J\n",
" - aka. DL4J, Deep Learning for Java\n",
@ -139,7 +180,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 6. CNTK (Microsoft Cognitive Toolkit)\n",
"- https://cntk.azurewebsites.net/\n",
@ -151,7 +196,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 7. ML.NET\n",
" - https://dot.net/ml\n",
@ -168,7 +217,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 8. MXNet\n",
" - https://mxnet.apache.org/\n",
@ -181,7 +234,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 9. Porównanie\n",
"|Framework |Autor |Licencja | Język | Interface |Uwagi |\n",
@ -199,7 +256,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 9. Formaty wymiany\n",
" - większość bibliotek używa innego formatu do zapisu modeli\n",
@ -218,10 +279,16 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Zadanie [20 pkt.]\n",
"\n",
"Termin: 2 tygodnie (25 IV)\n",
"\n",
"1. Wybierz jeden z frameworków ML (jeden z powyższych, ale może być też inny) i zaimplementuj w nim prostą sieć neuronową rozwiązującą wybrany problem (np regresji lub klasyfikacji) na wybranym na poprzednich zajęciach zbiorze. Możesz wzorować się (lub nawet skopiować) na jednym z tutotoriali do danego frameworka.\n",
" - wczytaj dane trenujące z pliku [2 pkt.]\n",
" - wytrenuj na nich model [8 pkt.]\n",
@ -238,6 +305,7 @@
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"language": "python",