Laboratorium SNN
Zaliczenie zajęć
Zaliczenie zajęć, projekty i propozycje tematów projektów
Rozwiązanie muszą być wykonane samodzielnie. Nie jest dozwolone udostępnianie rozwiązań innym osobom
Rozwiązania należy deponować w Moodle lub w repozytorium GitHub utworzonym na podstawie linku aktywującego zadanie.
Adresy aktywujące repozytorium GitHub do deponowania rozwiązań znajduja się w Moodle.
Strona kursu w Moodle: https://moodle.umk.pl/WFAIIS/course/view.php?id=41
Plan
- Wstęp do python, jupyter, numpy, pandas, matlibplot, scikit-learn
- Model neuronu McCulloch-Pittsa,
- Prerceptron
- MLP, badanie różnych konfiguracji treningu
- Ocena jakości modeli, generalizacja, dobór hiperparametrów
- RBF
- Uczenie konkurencyjne, gaz neuronowy
- Uczenie korelacyjne, reguła Hebba
- Keras, Tensorflow i głebokie uczenie
- Sieci splotowe CNN
- Transfer learning
- Sieci rekurencyjne RNN
- Autokodery, VAE
- Sieci generatywne GAN (?)
Notatniki i zadania
Środowisko pracy
Laboratoria realizowane są w języku Python z wykorzystaniem notatników Jupyter. Na pracowni komputerowej dostępna jest dystrybucja Anaconda (zalecane środowisko na zajęciach). Możliwe jest również wykorzystanie usług sieciowych umożliwiających edycję i uruchamianie notatników, jak Google Colab lub Binder. Python oraz jupyter-notebook dostępne są również na serwerze studenckim polon7.fizyka.umk.pl
Praca lokalnie (na pracowni lub własnym komputerze)
- Jeśli chcesz korzystać z repozytoriów GitHub do przesyłania rozwiązań to utwórz kopie repozytorium z zajęć klikając na adres podany w Moodle
- Pobieramy notatnik
ipynb
, np. klonując repozytorium GitHub - Otwieramy wiersz poleceń Anaconda i przechodzimy do katalogu zawierającego pobrane pliki
- Uruchamiamy serwer Jupyter poleceniem
jupyter-notebook
lub
jupyter-lab
- Po wykonaniu zadań należy zapisać notatnik wraz z wynikami
- Rozwiązanie umieszczamy w Moodle lub wypychamy do własnego repozytorium GitHub
Instalacja Anaconda
Google Colab (lub Binder)
Google colaboratory umożliwia zapis notatników do prywatnych repozytoriów GitHub, usługa Binder umożliwia wyłacznie import publicznych repozytoriów GitHub.
- Utwórz kopie repozytorium z notatnikiem poprzez link podany w Moodle
https://moodle.umk.pl/WFAIIS/course/view.php?id=41#section-1 - Po wykonaniu zadania zapisz notatnik w repozytorium GitHub
Plik
→Zapisz notatnik w usłudze GitHub
- Google Colab (zalecane)
- dostęp do GPU
- wymagane konto Google i autoryzacja
- edytowane notatniki można zapisać na Dysku Google lub w GitHub (także w prywatnych repozytoriach)
- sesja aktywna dopóki jest otworzona w przeglądarce (max. 12h.)
- MyBinder (niezalecane)
- tylko CPU, min. 1GB RAM
- nie wymaga autoryzacji
- brak możliwości zachowania zmian pomiędzy sesjami
- sesja do 6 h., przerywana gdy brak aktywności przez 10 min
- często długotrwała procedura konfiguracji i niestabilna praca (brak zapisu może powodować utratę danych)
Kilka przydatnych odnośników
- Python is a programming language that lets you work quickly and integrate systems more effectively
- jupyter The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
- NumPy NumPy is the fundamental package for scientific computing with Python
- Pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool
- Using Pandas and Python to Explore Your Dataset by Reka Horvath
- scikit-learn Simple and efficient tools for predictive data analysis
- matplotlib comprehensive library for creating static, animated, and interactive visualizations in Python.
- Matplotlib tutorial for beginner by Nicolas P. Rougier