Jupyter Notebook und JupyterLab
Die preisgekrönte Software Jupyter Notebook ist in vielen Forschungsbereichen zum Defacto-Standard geworden. Bei der Entwicklung von Algorithmen, der Verarbeitung von Daten und der Zusammenarbeit in offenen Forschungsprozessen spielt die Software ihre Stärken aus. JupyterLab ist die Weiterentwicklung von Jupyter Notebook und bietet vor allem auf der Benutzeroberfläche einige sinnvolle Neuerungen (vgl. Abb. 1).
Loslegen mit Jupyter
Die klassische Arbeit in Jupyter Notebooks beginnt mit dem Import von Daten. Mit zahlreichen Skript- und Programmiersprachen können diese aufbereitet, analysiert und visualisiert werden. Unter den verfügbaren Kerneln befindet sich auch eins für Matlab, das in den Ingenieurwissenschaften nach wie vor stark verbreitet ist.
Da Jupyter Notebook mit so genannten Zellen arbeitet, können sich Codezellen und Textzellen abwechseln. Code wird direkt in den Zellen ausgeführt, Texte werden in Markdown verfasst. Dadurch können Hypothesisothesen und Annahmen über die Daten formuliert und anschließend mithilfe von Code direkt überprüft werden. Die folgende Zelle hält dann die Beobachtung und Interpretation fest. So entstehen reproduzierbare Forschungstagebücher und im fortgeschrittenen Stadium publikationsreife Artikel. Abb. 2 zeigt an einem einfachen Beispiel die Verzahnung von Text und Code.
Was Burger und Notebooks gemeinsam haben
Die Jupytertools haben deshalb in vielen verschiedenen Domänen einen bedeutenden Stellenwert erlangt, weil sie den klassischen wissenschaftlichen Workflow so komprimiert abbilden wie ein Burger ein Dreigängemenü:
- Salat und Brot als Vorspeise
- Fleisch im Hauptgang und
- Käse zum Abschluss
Für Jupyter Notebook heißt das:
- Analysieren und erkennen
- Schreiben
- Publizieren
Wie auch der Hamburger die Abfolge der drei Gänge zeitlich und räumlich in sich vereint, finden auch in einem Notebook die drei Schritte des wissenschaftlichen Arbeitens zeitgleich und iterativ statt: Während ich forsche, schreibe ich auf, was ich beobachte, forsche mit neuen Erkenntnissen weiter, schreibe und schreibe und veröffentliche im besten Sinne von Open Science schon während des Forschungsprozesses meine Mitschriften und Daten.
Mein Forschungsergebnis veröffentliche ich dann am besten in einem Open-Access-Journal und zitiere darin den Digital Object Identifier (DOI), unter dem meine Notebooks zu finden sind. Den DOI habe ich von Zenodo bekommen, als ich dem Dienst einen Link zu meinem GitHub-Repo mit meinen Jupyter Notebooks gezeigt habe.1 Der Journalartikel zusammen mit meinen Notebooks und Daten machen mein Forschungsergebnis und das Vorgehen transparent und nachvollziehbar.
Um es anderen Wissenschaftler_innen noch einfacher zu machen, nutze ich Tools wie binder, die es erlauben, Notebooks aus dem Git[Hub|Lab]-Repo direkt im Browser interaktiv nachzuvollziehen, um damit die Ergebnisse aus der Publikation zu reproduzieren und zu prüfen. Abb. 3 visualisiert diesen möglichen Workflow exemplarisch.
Über den folgenden Button
kann das Beispiel aus Abb. 2 direkt im Browser nachvollzogen werden. In der sich öffnenden Ansicht ist die Datei jupyter-beispiel.ipynb
anzuklicken. Anschließend können die Zellen geändert und mit STRG+ENTER erneut ausgeführt werden.
Jupyter Notebook und JupyterLab laufen auf allen relevanten Betriebssystemen als Browsertool und können bspw. mithilfe von Anaconda auf dem eigenen Rechner installiert werden. Über eine serverseitige Installation von JupyterHub sind auch kollaborative Arbeiten an Daten- und Forschungsprojekten möglich.
Jupyter-Notebook-Installationen sind einfach über Plugins zu erweitern. So können z.B. mit RISE Präsentationen direkt aus Notebooks erstellt werden. Jede Zelle kann dabei zu einer eigenen Folie werden, in der der Code bei einer Präsentation live ausgeführt werden kann!
Jupyter an der TUHH
Die TUHH verfügt seit 2018 über einen JupyterHub, der im Wintersemester erstmals auch für elektronische Prüfungen eingesetzt wird. Zuvor hatten die Studierenden ein Semester lang eine handlungsorientierte Einführung in Machine-Learning-Grundlagen mit Python, wobei Jupyter Notebooks das zentrale Tool waren.
Weiterführende Links
- Thoden, K. (2019b). Jupyter Notebooks und die Integration in eine Publikationsplattform. Zenodo. https://doi.org/10.5281/zenodo.2549292
Quellennachweis
Dieser Beitrag von Axel Dürkop erschien zuerst am 21. Februar 2019 im Blog “Insights” der TU Hamburg. Er ist lizensiert unter CC-BY 4.0 International.
-
Die Vergabe von DOIs ist derzeit nur für GitHub-Repositories möglich. Repos im GitLab der TUHH können jedoch einfach zu GitHub gespiegelt werden. Mehr dazu im Blog der TU Bibliothek ↩︎