Jupyter Notebook ist eine webbasierte Software von Project Jupyter, die vor allem zum Prototyping von Software und zur Datenanalyse genutzt wird. Darin lässt sich Code entwickeln, kommentieren und auch Visualisierungen anzeigen, indem einzelne Codeblöcke definiert werden können, die unabhängig voneinander ausgeführt werden können.
Was ist Project Jupyter?
Das Project Jupyter bietet eine Vielzahl von Softwareprodukten, die zur Datenauswertung und zur Programmierung in den Sprachen Python und R genutzt werden können. Sie sind vor allem im wissenschaftlichen Bereich weit verbreitet, da sich mit den Produkten der geschriebene Code leicht dokumentieren und erklären lässt.
Es handelt sich dabei um eine Non-Profit Organisation, die verschiedene Open-Source Produkte zur Verfügung stellt mit dem Ziel, dass viele Programmierende mit einem offenen Programm und festen Standards arbeiten können. Neben dem bekannten Jupyter Notebook bietet Project Jupyter unter anderem auch die Produkte JupyterHub und JupyterLab an, auf die wir im Laufe des Artikels noch genauer eingehen werden.
Was ist ein Jupyter Notebook?
Project Jupyter veröffentlichte im Jahr 2015 die sogenannten Jupyter Notebooks. Sie bieten eine webbasierte Anwendung zur Programmierung in Python, R und anderen Programmiersprachen, die Webdokumente im JSON Format abspeichern. Das markanteste Merkmal der Notebooks sind die sogenannten Blöcke in denen man neben Code auch Überschriften, Textpassagen oder mathematische Gleichungen in Latex formulieren kann.
Durch diesen Aufbau wird es ermöglicht auch nur einzelne Codeabschnitte gesondert auszuführen, die dann auch einzelne Ausgaben haben können. Diese Funktion ist vor allem bei der Datenanalyse und -auswertung sehr nützlich, um verschiedene Diagramme darstellen zu können.
Wie installiert man Jupyter?
Um die Jupyter Notebooks installieren zu können, benötigt man bereits eine funktionierende Python-Installation, da mit der Installation von Jupyter lediglich das Interface geladen wird. Auch deshalb werden die Notebooks oftmals in Verbindung mit Anaconda installiert, da dies beides bereits im Paket anbietet. Mit dieser Plattform erhält man neben den Jupyter Notebooks auch eine Python-Version, sowie die Entwicklungsumgebung Spyder und andere Programme.
Zur Installation von Anaconda kann man sich auf der Übersichtsseite die passende Version für das gewünschte Betriebssystem heraussuchen und sie entsprechend den beschriebenen Schritten ausführen. Dann hat man auch bereits eine funktionsfähige Version des Jupyter Notebooks parat.
Wer bereits Python installiert hat und nicht den Umweg mit Anaconda machen will, der kann über einen einfachen pip-Befehl das Modul herunterladen. Mithilfe des folgenden Befehls lässt sich die Installation ganz einfach starten:
pip3 install jupyter
Nach der erfolgreichen Installation kann man dann das Programm mit dem folgenden Befehl starten:
jupyter notebook
Falls bei dieser Methode Fehler auftreten, liegt das in vielen Fällen an einer veralteten Version von pip. Deshalb sollte man bei Problemen am Besten erstmal pip updaten und dann die Installation nochmals von vorne starten.
Für welche Anwendungen bieten sich Jupyter Notebooks an?
Der Aufbau von Jupyter Notebooks ist geprägt von den sogenannten Blöcken, in denen neben Codeabschnitten auch Texte formuliert oder mathematische Gleichungen aufgestellt werden können. Durch diese Funktionalitäten bietet sich die Software vor allem im Prototyping oder der Wissenschaft an, da neue Ansätze einfach getestet, dokumentiert und unabhängig ausgeführt werden können. Dabei werden die vorherigen Zwischenergebnisse einfach im Arbeitsspeicher abgelegt und es kann auf sie zugegriffen werden ohne, dass die vorherigen Abschnitte nochmals ausgeführt werden müssen.
Zu den häufigsten Anwendungen zählen vor allem:
- Datenanalyse und -visualisierung: Durch die einfache Strukturierung des Dokuments ist es möglich, dass verschiedene Auswertungen und Diagramme getrennt ausgegeben werden können und somit einfach unterscheidbar sind.
- Erstellung von Machine Learning Modellen: Beim Training von neuen Modellen müssen einige Parameter abhängig von den Daten eingestellt werden. Dabei bieten sich Jupyter Notebooks an, um einige Tests durchzuführen und verschiedene Trainingsdurchläufe miteinander vergleichen zu können.
Wie funktioniert der Kernel in einem Jupyter Notebook?
Bei der Arbeit mit Daten und Machine Learning wird oft auf Jupyter Notebook zurückgegriffen. Es handelt sich um eine web-basierte Plattform für die Erstellung und das Teilen von Programmiercode. Es wird deshalb so oft für Data Science Anwendungen genutzt, da einzelne Codeblöcke ausgeführt werden können und deren Ergebnisse, zum Beispiel Graphen, direkt sichtbar sind. Das ist vor allem bei der Modellerstellung oder der Analyse von Datensätzen vorteilhaft, wenn die nächsten Programmierschritte von den vorherigen Ergebnissen abhängen.
Bei der Nutzung von Jupyter Notebook wird auch ein Kernel gestartet, der mitunter zu Problemen führen kann, wie beispielsweise im folgenden Beispiel beim Verbindungsaufbau. Jedoch unterscheidet sich dieser komplett von dem eines Betriebssystems wie er in diesem Beitrag bisher beschrieben wurde.
Der Jupyter Notebook Kernel ist eine Engine, die den Notebook Code zur Ausführung bringt und speziliasiert ist auf eine bestimmte Programmiersprache, wie beispielsweise Python. Er nimmt aber nicht die umfassenden Schnittstellenfunktionen war, die bisher beschrieben wurden.
Die folgenden Befehle sind im Umgang mit dem Jupyter Notebook Kernel besonders hilfreich:
- Interrupt: Dieser Befehl stoppt die Prozesse, die gerade in einer Zelle ablaufen. Dadurch kann zum Beispiel das Training eines Modells gestoppt werden, auch wenn noch nicht alle Trainingsepochen erreicht wurden.
- Restart & Run All: Mit diesem Befehl können alle Zellen nochmal neu ausgeführt werden und die bisherigen Variablen wurden gelöscht. Das kann dann sinnvoll sein, wenn man einen neueren Datensatz in das bestehende Programm einlesen will.
- Restart: Der alleinige Befehl “Restart” führt zu demselben Ergebnis, jedoch werden nicht nochmal alle Zellen zur Ausführung gebracht.
- Reconnect: Beim Training von großen Modell kann der Kernel “sterben”, weil der Arbeitsspeicher vollläuft. Dann ist ein Reconnect sinnvoll.
- Shutdown: Solange ein Kernel noch läuft, bindet er auch Arbeitsspeicher. Wenn man also parallel andere Programme laufen lässt, für die man Arbeitsspeicher freigeben will, kann der “Shutdown” Befehl Sinn machen.
Was sind JupyterHub und JupyterLab?
Wie bereits erwähnt bietet das Project Jupyter verschiedene Open-Source Softwareprodukte, zu denen neben Jupyter Notebook unter anderem auch JupyterHub und JupyterLab gehören.
Bei JupyterHub liegt der Fokus deutlich stärker auf der Arbeit im Team. Es bietet nämlich die Möglichkeit, dass man eine Instanz hostet, die dann den Zugriff von mehreren Nutzern auf geteilte Notebooks zulässt. Damit können mehrere Personen gleichzeitig an einem Projekt arbeiten. Die Instanz lässt sich dabei entweder in der Cloud oder auf einem eigenen Server hosten. Es lassen sich gleichzeitig auch Nutzer einrichten und verwalten, die dann unterschiedliche Rollen besitzen und damit verbunden auch verschiedene Aktivitäten zur Änderung von Notebooks durchführen dürfen.
Bei JupyterLab handelt es sich um eine verbesserte Form von Jupyter Notebooks, die im Jahr 2019 eingeführt wurde und langfristig die Notebooks ablösen soll. In Kurzform besticht es vor allem durch ein moderneres und einfacheres User Interface. Da es langfristig die Notebooks ersetzen wird und funktionell dieselben Möglichkeit bietet, sollte man nach Möglichkeit direkt mit JupyterLab starten, da sich die Frage stellt, wie lange die herkömmlichen Jupyter Notebooks noch unterstützt werden.
Laut den Entwicklern von Project Jupyter steht die Ablösung bereits fest, auch wenn dafür noch kein konkreter Zeitplan genannt wird. Jedoch muss man nicht direkt in Hektik verfallen, da eine Kompatibilität zwischen Jupyter Notebook und JupyterLab auf jeden Fall gewährleistet sein wird, da es sich bei beiden Programmen um webbasierte JSON-Dokumente handelt. Man sollte sich trotzdem darauf einstellen, dass ab einem gewissen Zeitpunkt die Unterstützung und vor allem die Weiterentwicklung von Jupyter Notebooks eingestellt wird und spätestens dann ein Wechsel zum JupyterLab erforderlich ist.
Welche Vorteile hat Jupyter Notebook?
In der Nutzung hat Jupyter Notebook die folgenden Vorteile:
- Es wird eine Vielzahl von Programmiersprachen unterstützt, wie beispielsweise Python, R oder auch Scala.
- Weiterhin besteht die Möglichkeit, dass sich Projekte einfach und schnell im Team teilen lassen, indem sie auf Repositories, wie GitHub, hochgeladen werden oder durch das Versenden per Mail.
- Jupyter kann entweder über gängige IDEs, wie beispielsweise Visual Studio Code, genutzt werden oder auch im Browser. Obwohl es im Browser wahrscheinlich einfacher zu nutzen ist, verzichtet man dafür auf einige vereinfachende Features, wie beispielsweise die Autokorrektur oder -vervollständigung.
- Die Software ist kostenlos und open-source verfügbar.
- Durch die Möglichkeit nur einzelne Codeblöcke gesondert ausführen zu können, kann man während der Entwicklung neue Funktionen ausprobieren, ohne jedes Mal den vorherigen Code ausführen zu müssen und es lassen sich dadurch Wartezeiten vermeiden.
Das solltest Du mitnehmen
- Jupyter Notebook ist ein Open-Source Programm von Project Jupyter, das vor allem zur Datenanalyse und -visualisierung genutzt wird.
- Es sticht vor allem durch die Nutzung von Code-Blöcken hervor, die es ermöglichen Code in einzelnen Abschnitten auszuführen, was vor allem im Prototyping oder der Entwicklung ein hilfreiches Feature ist.
- Neben den Jupyter Notebooks bietet das Project Jupyter auch die Programme JupyterHub und JupyterLab an.
- Zu den Vorteile von Jupyter Notebooks zählen vor allem, dass es viele verschiedene Programmiersprachen unterstützt und sich damit neue Projekte einfach und verständlich dokumentieren lassen.
Was ist Quantencomputing?
Tauchen Sie ein in das Quantencomputing. Entdecken Sie die Zukunft des Rechnens und sein transformatives Potenzial.
Was ist die Anomalieerkennung?
Entdecken Sie effektive Techniken zur Anomalieerkennung. Erkennen Sie Ausreißer und ungewöhnliche Muster, um bessere Einblicke zu erhalten.
Was ist das T5-Model?
Entdecken Sie die Leistungsfähigkeit des T5-Modells für NLP-Aufgaben - lernen Sie die Implementierung in Python und Architektur kennen.
Was ist MLOps?
Entdecken Sie MLOps und erfahren Sie, wie es den Einsatz von maschinellem Lernen revolutioniert. Erkunden Sie die wichtigsten Konzepte.
Was ist ChatGPT?
Entdecken Sie die Leistungsfähigkeit von ChatGPT - dem Sprachmodell, das von OpenAI trainiert wird und wie es das Spiel im NLP verändert.
Andere Beiträge zum Thema Jupyter Notebook
Die Dokumentation von Jupyter Notebook findest Du hier.
Niklas Lang
Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.
Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.