This commit is contained in:
Paweł Skórzewski 2024-04-02 14:22:23 +02:00
parent dbd04404f1
commit 4a30b40aa2

View File

@ -8,14 +8,8 @@
} }
}, },
"source": [ "source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Inżynieria uczenia maszynowego </h1>\n", "<h1> Inżynieria uczenia maszynowego </h1>\n",
"<h2> 5. <i>Biblioteki Deep Learning</i> [laboratoria]</h2> \n", "<h2> 5. <i>Biblioteki Deep Learning</i> [laboratoria]</h2> "
"<h3> Tomasz Ziętkiewicz (2022)</h3>\n",
"</div>\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
] ]
}, },
{ {
@ -73,7 +67,7 @@
}, },
"source": [ "source": [
"## 1. Tensorflow\n", "## 1. Tensorflow\n",
" - www.tensorflow.org\n", " - [https://tensorflow.org](https://tensorflow.org)\n",
" - Open source\n", " - Open source\n",
" - Rozwijana przez google\n", " - Rozwijana przez google\n",
" - Bogaty \"ekosystem\"\n", " - Bogaty \"ekosystem\"\n",
@ -128,7 +122,7 @@
" - Dynamiczny graf obliczeń\n", " - Dynamiczny graf obliczeń\n",
" - Możliwość osadzenia na urządzeniach Android i iOS ([Torch mobile](https://pytorch.org/mobile/home/))\n", " - Możliwość osadzenia na urządzeniach Android i iOS ([Torch mobile](https://pytorch.org/mobile/home/))\n",
" - Serwowanie modeli przez REST dzięki [TorchServe](https://pytorch.org/serve/)\n", " - Serwowanie modeli przez REST dzięki [TorchServe](https://pytorch.org/serve/)\n",
" - Przykład klasyfikacji IRIS w PyTorch: https://www.kaggle.com/aaditkapoor1201/iris-classification-pytorch" " - Przykład klasyfikacji Iris w PyTorch: https://www.kaggle.com/aaditkapoor1201/iris-classification-pytorch"
] ]
}, },
{ {
@ -162,7 +156,7 @@
" - zmergowana do repozytorium PyTorch\n", " - zmergowana do repozytorium PyTorch\n",
" - Open source\n", " - Open source\n",
" - Głównie zastosowania produkcyjne, w tym modele embedded (Caffe2go)\n", " - Głównie zastosowania produkcyjne, w tym modele embedded (Caffe2go)\n",
" - PyTorch: łatwość ekspoerymentowania, research. Caffe2: wydajność, urządzenia mobilne\n", " - PyTorch: łatwość eksperymentowania, research. Caffe2: wydajność, urządzenia mobilne\n",
" - ONNX jako format wymiany między Caffe2 i PyTorch" " - ONNX jako format wymiany między Caffe2 i PyTorch"
] ]
}, },
@ -182,7 +176,7 @@
" - Napisana w Javie i C++\n", " - Napisana w Javie i C++\n",
" - Interfejsy: Java, Scala, Clojure, Kotlin\n", " - Interfejsy: Java, Scala, Clojure, Kotlin\n",
" - Możliość importu modeli Keras\n", " - Możliość importu modeli Keras\n",
" - Przykład klasyfikacji IRIS: https://deeplearning4j.konduit.ai/android/linear-classifier\n" " - Przykład klasyfikacji Iris: https://deeplearning4j.konduit.ai/android/linear-classifier\n"
] ]
}, },
{ {
@ -215,7 +209,7 @@
" - Open source (licencja MIT)\n", " - Open source (licencja MIT)\n",
" - Napisana w C#, C++\n", " - Napisana w C#, C++\n",
" - API: .NET, Python (bindingi poprzez [NimbusML](https://github.com/microsoft/NimbusML))\n", " - API: .NET, Python (bindingi poprzez [NimbusML](https://github.com/microsoft/NimbusML))\n",
" - Przykłady klasyfikacji IRIS:\n", " - Przykłady klasyfikacji Iris:\n",
" - https://docs.microsoft.com/pl-pl/dotnet/machine-learning/tutorials/iris-clustering\n", " - https://docs.microsoft.com/pl-pl/dotnet/machine-learning/tutorials/iris-clustering\n",
" - https://github.com/dotnet/machinelearning-samples/tree/main/samples/csharp/getting-started/MulticlassClassification_Iris\n", " - https://github.com/dotnet/machinelearning-samples/tree/main/samples/csharp/getting-started/MulticlassClassification_Iris\n",
" - Więcej przykładów: https://github.com/dotnet/machinelearning-samples\n", " - Więcej przykładów: https://github.com/dotnet/machinelearning-samples\n",
@ -233,7 +227,7 @@
"## 8. MXNet\n", "## 8. MXNet\n",
" - https://mxnet.apache.org/\n", " - https://mxnet.apache.org/\n",
" - Open source (Apache 2.0)\n", " - Open source (Apache 2.0)\n",
" - Rozwijana przez [Apache Software Foundation](https://www.apache.org/)\n", " - Był rozwijany przez [Apache Software Foundation](https://www.apache.org/)\n",
" - Backend napisany w C++\n", " - Backend napisany w C++\n",
" - Iterfejsy: Python (główny) i dodatkowo for Scala, Julia, Clojure, Java, C++, R i Perl\n", " - Iterfejsy: Python (główny) i dodatkowo for Scala, Julia, Clojure, Java, C++, R i Perl\n",
" - Możliwość osadzenia na urządzeniach mobilnych dzięki [amalgamacji](https://mxnet.apache.org/versions/1.8.0/api/faq/smart_device)" " - Możliwość osadzenia na urządzeniach mobilnych dzięki [amalgamacji](https://mxnet.apache.org/versions/1.8.0/api/faq/smart_device)"
@ -256,9 +250,9 @@
"|PyTorch |Facebook |BSD |C++,Python |C,Python, Java | |\n", "|PyTorch |Facebook |BSD |C++,Python |C,Python, Java | |\n",
"|Caffe |[BAIR](https://bair.berkeley.edu/)|BSD|C++|Python,Matlab| |\n", "|Caffe |[BAIR](https://bair.berkeley.edu/)|BSD|C++|Python,Matlab| |\n",
"|Caffe2 |Facebook |BSD |C++ |C++,Python |Od 3 lat (2018) część PyTorch|\n", "|Caffe2 |Facebook |BSD |C++ |C++,Python |Od 3 lat (2018) część PyTorch|\n",
"|CNTK |Microsoft |MIT |C++ |Python, C++, C# |od 01.2019 nierozwijana|\n", "|CNTK |Microsoft |MIT |C++ |Python, C++, C# |nierozwijany od 01.2019|\n",
"|ML.NET |Microsoft |MIT |C++, C## |.NET, Python || \n", "|ML.NET |Microsoft |MIT |C++, C## |.NET, Python || \n",
"|MXNet |Apache Foundation|Apache 2.0|C++, Python|Python, Scala, Julia, Clojure, Java, C++, R i Perl||" "|MXNet |Apache Foundation|Apache 2.0|C++, Python|Python, Scala, Julia, Clojure, Java, C++, R i Perl|nierozwijany od 05.2022|"
] ]
}, },
{ {
@ -294,7 +288,7 @@
"source": [ "source": [
"## Zadanie [22 pkt.]\n", "## Zadanie [22 pkt.]\n",
"\n", "\n",
"Termin: 2023-05-12\n", "Termin: 24 kwietnia 2024\n",
"\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", "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", " - wczytaj dane trenujące z pliku [2 pkt.]\n",