Die einzige Jupyter Notebooks-Erweiterung, die Sie wirklich brauchen
Jetzt müssen Sie den Kernel nicht neu starten, nachdem Sie den Code in Ihren benutzerdefinierten Importen bearbeitet haben.
By Olga Tschernyzka, Senior Engineer für maschinelles Lernen
Wenn Sie in Jupyter Notebooks arbeiten, ist es praktisch, Ihre Funktionen und Klassen in separaten .py-Dateien zu speichern und sie einfach zu importieren. Dadurch werden Ihre Notizbücher lesbar und Sie können dieselben Funktionen und Klassen problemlos in mehreren Notizbüchern wiederverwenden.
Angenommen, Sie haben Ihr Notebook gestartet, benutzerdefinierte Funktionen aus .py-Dateien importiert, große Datasets geladen und einige Vorverarbeitungen mit Ihren benutzerdefinierten Funktionen durchgeführt. Und es stellt sich heraus, dass eine der Funktionen für die Vorverarbeitung falsch ist, also korrigieren Sie den Code in .py-Dateien, führen dann die Zelle noch einmal mit der Vorverarbeitung aus – und… nichts ändert sich, der gleiche Fehler ist da. Jupyter Notebook sieht keine aktualisierte Version der Funktion.
Leider können Sie hier nur den Kernel neu starten, wodurch alle bereits in den Speicher geladenen Datensätze verloren gehen.
Es sei denn, Sie verwenden autoreload
.
So funktioniert's
Laut Dokumentation, autoreload
„lädt Module automatisch neu, bevor Benutzercode ausgeführt wird“ [1].
Das bedeutet, dass Sie jetzt einfach: Funktion in .py-Dateien korrigieren, Änderungen speichern, zurück zum Notebook gehen und Zelle mit Vorverarbeitung ausführen. Alle Funktionen beim Notebook-Import werden auf die neueste Version geladen, Code in der Zelle ausgeführt – und Sie sehen, wie die feste Funktion funktioniert.
Anwendungsbereich
Um diese Magie wahr werden zu lassen, fügen Sie dieses Code-Snippet in die erste Zelle Ihres Notebooks ein und führen Sie es zuerst aus, nachdem Sie den Kernel gestartet haben:
%load_ext autoreload
%autoreload 2
Sie müssen es nur einmal ausführen, wenn der Kernel gestartet wird. Und autoreload
funktioniert, bis Sie den Kernel stoppen.
Installation
Es ist keine Installation erforderlich, es sollte bereits vorhanden sein. Autoreload
wird automatisch installiert, wenn Sie Jupyter Notebook oder Jupyter Lab installieren.
Mehr
Autoreload
ermöglicht es Ihnen, nur bestimmte Module neu zu laden oder einige der Module vom Neuladen auszuschließen. Wenn Sie diese Funktion benötigen, lesen Sie bitte die offizielle Dokumentation [1].
Bibliographie
Bio: Olga Tschernyzka ist Senior Machine Learning Engineer in einem großen osteuropäischen Outsourcing-Unternehmen; war an verschiedenen Data-Science-Projekten für führende US-amerikanische, europäische und asiatische Unternehmen beteiligt; Schwerpunkt und Interesse ist Deep Computer Vision.
Original. Mit Genehmigung erneut veröffentlicht.
Related:
Top Stories der letzten 30 Tage
Münzsmart. Beste Bitcoin-Börse in Europa
Quelle: https://www.kdnuggets.com/2021/06/only-jupyter-notebooks-extension-truly-need.html