Poprawki do zajęć 5.

This commit is contained in:
Tomasz Ziętkiewicz 2021-04-12 13:51:53 +02:00
parent d46d58fe06
commit 304d348990

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",