## 1. OS installieren
Verweis auf den offiziellen [Getting Started Guide](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit) von Nvidia, welcher alles Schritt für Schritt erklärt und das Image bereitstellt.
## 2. OS aktualisieren
```
sudo apt-get update
sudo apt-get upgrade
```
## 3. Anaconda für ARM installieren
Zuerst geht man in das Hauptverzeichnis mit *cd ~*. Danach lädt man ein Shell-Script herunter und *modifiziert* die Rechte für das Ausführen der Datei.
```
cd ~
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
chmod a+x Miniforge3-Linux-aarch64.sh
```
Skript nun ausführen mit:
:exclamation: ACHTUNG: KEINE Root Rechte nutzen :exclamation:
```
./Miniforge3-Linux-aarch64.sh
```
Nun müssen dann noch die Lizenzbedingungen akzeptiert werden mit *yes*.
## 4. Grundpakete installieren
```
sudo apt install python3-h5py libhdf5-serial-dev hdf5-tools python3-matplotlib
```
## 5. Anaconda: Umgebung erstellen
Hier kann man auch eine neuere Python version nutzen. Für alle weiteren Flags für Anaconda siehe: [Dokumentation](https://docs.conda.io/projects/conda/en/latest/commands/create.html).
Hier wird jetzt eine Umgebung namens "jupyter" erstellt mit der Python Version 3.6.
```
conda create -n jupyter python=3.6
```
## 6. Python Module installieren
Umgebung aktivieren:
```conda activate jupyter```
Die Pakete werden nun in dieser Umgebung installiert mit:
```
pip install matplotlib pandas numpy pillow scipy tqdm scikit-image scikit-learn seaborn cython h5py jupyter ipywidgets
```
## 7. Jupyter Notebook konfigurieren
Konfigurationsdatei erstellen lassen mit:
```
jupyter notebook --generate-config
```
Nun die Konfigurationsdatei öffnen: (Hier ist bei jedem der Pfad leicht unterschiedlich!)
```
vim /home/"username"/.jupyter/jupyter_notebook_config.py
```
Hier kann man nach belieben selber seine Präferenzen festlegen wie z.B.
```
c.NotebookApp.open_browser = False
c.NotebookApp.ip = '*'
```
:exclamation: Passwort festlegen mit:
```jupyter notebook password```:exclamation:
Nun noch ipykernel installieren damit wir immer die korrekte Python-Version mit Jupyter verwenden.
```
python -m ipykernel install --user
```
## 8. Torch 1.6 und Torchvision installieren
Torch installieren
```
cd ~
wget https://nvidia.box.com/shared/static/9eptse6jyly1ggt9axbja2yrmj6pbarc.whl -O torch-1.6.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip install torch-1.6.0-cp36-cp36m-linux_aarch64.whl
```
Torchvision installieren
```
cd ~
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.7.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.7.0
python setup.py install
cd ../
pip install 'pillow<7'
```
## 9. Jupyter Notebook starten
Zuerst unsere Umgebung aktivieren: ```conda activate jupyter```
Nun Jupyter Notebook starten: ```jupyter notebook```
Nun kann der Browser auf [10.0.0.3:8888](http://10.0.0.3:8888/tree?) geöffnet werden und man sollte sich in der UI vom Notebook befinden.
Viel Spaß :smiley: