Skip to content
Snippets Groups Projects
Commit 24dccc33 authored by Jupyter Autodeployer's avatar Jupyter Autodeployer
Browse files

updated notebooks

parent 5da56e2c
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:b7fc2ad2-e5f0-49e8-8cee-dbdb40f4a3b6 tags:
# Ziel: Bilder trainieren, Teil 2
*mit "sinnvollen" Parametern und verschiedenen Netzen/eigene Netze*
**Wichtig**: Die sogenannte Lernrate, auch mit $\alpha$ bezeichnet, muss positiv, aber kleiner als 1 sein (also ein Float/Bruchwert, z.B. 0.00002). Warum? Weil sonst der Step um die Kostenfunktion herum nicht hinunter findet. Siehe Erklärungen zB hier: [Stepping With a Learning Rate](https://github.com/fastai/fastbook/blob/master/04_mnist_basics.ipynb#Stepping-With-a-Learning-Rate) (genauer: Stepping With a Learning Rate). Es lohnt sich, dieses ganze Kapitel zu lesen (eigentlich das ganze Buch, wenn jemand die Zeit aufbringen kann).
%% Cell type:markdown id:81033a68-4fb1-4161-8a55-e9f1a4c7d414 tags:
Benötigter Aufwand: ca. 2h
%% Cell type:markdown id:af0e3a7b-b64d-4051-b13e-530ad76e377a tags:
Benötigtes Material:
* Daten
* Jupyter NB mit GPU Support
%% Cell type:markdown id:e74dd05c-b811-49cb-bd56-8fb5b2732ecd tags:
Ablauf (Siehe auch vergangenes Notebook und allgemeiner Trainigsablauf):
1. Daten einspeisen
2. Trainig starten
3. Interpretieren der Resultate
%% Cell type:markdown id:d5f4f192-7333-4cf6-b252-884de728b6ac tags:
## Hilfestellung
%% Cell type:markdown id:4a639150-8368-4779-9a00-929b589fe3ff tags:
Alle möglichen Netze anzeigen
%% Cell type:code id:702eee79-eb8b-4b02-bc09-e6b4322789a5 tags:
``` python
import torchvision.models as torch_models
[m for m in dir(torch_models) if m.lower() == m and not m.startswith('_')]
```
%% Cell type:markdown id:de037366-fcac-4ee4-a518-b8b097d14519 tags:
Von diesen sind nicht alle gleich nützlich.
Um zu starten, probiere es mal mit:
* resnet18
* mobilenet_v3_small
* mobilenet_v3_large
* mobilenetv3
* alexnet
Schaue auf drei Sachen:
* Geschwindigkeit des Durchlaufs (Abrechen und weniger Bilder wählen, wenn es zu lange dauert)
* Alpha-Werte
* Wie lange dauert es, bis die Werte "Sinnvoll" werden
Welche Kombination gibt einen guten Wert in `valid_loss`? Alles über 1 ist unbrauchbar ;-)
%% Cell type:markdown id:7f92e200-7a81-4313-9039-c58206d7a3fa tags:
Beispiel:
```python
# ... dein dataloader, siehe vegangene Wochen
learn = vision_learner(data_loaders, torch_models.alexnet)
learn.lr_find()
# Output: SuggestedLRs(valley=0.0020892962347716093)
lr = 0.002
learn.fine_tune(25, lr)
```
%% Cell type:markdown id:c13763b8-1096-4a3d-b194-1a550a32b36a tags:
**Hilfsfragen**
* Was macht fine_tune?
* Was ist der Sinn von der zahl `25`?
* Wo bestimme ich die batch-size?
* Was ist die Batch-Size?
Hinweise dazu findest du in der Dokumentation von [https://docs.fast.ai/](https://docs.fast.ai/) und dem obigen Link.
%% Cell type:code id:345cf077-bd5b-4f45-8d60-f20284239e1d tags:
``` python
```
%% Cell type:markdown id:5f796887-c3bf-4dff-875d-4ad0e346376a tags:
# Regression und Bilder
%% Cell type:markdown id:b59287ec-4abe-4883-881d-26b59f63abfa tags:
## Was ist Regression?
Sieh dir folgendes Video an und finde den Zusammenhang mit der Steuerung und dem Gas-Input mit den Bildern.
%% Cell type:code id:990240b5-0d68-4e4f-a151-53a5c34da938 tags:
``` python
from IPython.display import IFrame
IFrame('https://www.youtube.com/embed/WZKMzjfJ-x4?rel=0&controls=0&showinfo=0', width=640, height=360)
```
%% Output
<IPython.lib.display.IFrame at 0x7f8670822770>
%% Cell type:markdown id:e30d5cc5-9451-41eb-8a1b-7f71a8ab1e0e tags:
## Regression und neuronale Netze
Typischerweise sind Bilder nicht für regression verwendet.
Kannst du mit Hilfe von https://docs.fast.ai/ und https://github.com/fastai/fastbook hrausfinden, warum das "trotzdem" geht?
%% Cell type:markdown id:5f7a1b29-e957-4069-8ab4-5feefe7ca2f5 tags:
## Nachgeschaltete Netze
Neben Regression mit Bilder gibt es eine weitere Option: Nachgeschaltete Netze, wo der Output eines Netzes den Input des anderen bildet.
Wir werden dies noch anschauen, wie man das mit einer spezifischen Technik nutzen kann, als erste Stufe wird es Recognition brauchen, was man auch Image Segmentation "nennt". Du findest dazu hier einige Infos als Vorbereitung für später:
https://github.com/fastai/fastbook/blob/master/01_intro.ipynb (Nur einen Abschnitt dazu, aber das reicht für diesmal :-) )
%% Cell type:code id:72051f2b-f03d-4ee8-b13a-ea4c5e7e2379 tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment