"Plattform, die maschinelles Lernen nur mit Jupyter als eigentlichen Dienst bereitstellen kann" Ich war sehr beeindruckt, wie es möglich war, das Notebook direkt einzubauen. In dem Artikel erschien eine Bibliothek namens "Papiermühle", die Jupyter-Notebooks von außen ausführen kann, daher würde ich sie gerne verwenden.
pip install papermill
Die Ordnerstruktur ist wie folgt. Schreiben Sie in das Notizbuch, das input.ipynb
ausführen möchte, den Ausführungscode in main.py
.
work/
├ main.py
└ input.ipynb
Der Inhalt von input.ipynb
ist wie folgt sehr einfach.
Hier ist die erste Zelle mit "Parametern" versehen. Wählen Sie "View-Cell Toolbar --Tags" aus dem Menü, um das Textfeld oben rechts in der Zelle anzuzeigen. Geben Sie hier "parameter" ein und klicken Sie auf "Add tag", um das Tag hinzuzufügen. papermill kann mit dem Tag "parameters" im Notizbuch in die Zelle gehen und die Variablen in der Zelle neu schreiben.
So führen Sie die Python-API aus: Das Notebook wird nach der Ausführung als . / Output.ipynb
ausgegeben.
main.py
import papermill as pm
pm.execute_notebook(
'./input.ipynb',
'./output.ipynb',
parameters = dict(alpha=0.6, ratio=0.1)
)
Führen Sie mit python main.py
aus.
$ python main.py
Executing: 100%|████████████████████████████████| 3/3 [00:01<00:00, 1.80cell/s]
Wenn ich . / Output.ipynb
öffne, sieht es so aus: Eine mit "Injected-Parameters" gekennzeichnete Zelle wurde hinzugefügt, die die Parameter überschreibt.
So führen Sie die CLI aus: Papermill beurteilt den booleschen und numerischen Wert ohne Erlaubnis.
$ papermill ./input.ipynb ./output.ipynb -p alpha 0.6 -p ratio 0.1
Input Notebook: ./input.ipynb
Output Notebook: ./output.ipynb
Executing: 100%|████████████████████████████████| 3/3 [00:01<00:00, 2.67cell/s]
Parameter können auch in der yaml-Datei angegeben werden.
work/
├ main.py
├ input.ipynb
└ parameters.yaml
Gehen Sie in der CLI wie folgt vor:
papermill ./input.ipynb ./output.ipynb -f ./parameters.yaml
Sie können es auch im Cloud-Speicher speichern. In diesem Fall müssen Sie auch die Option installieren.
pip install papermill[all]
Ändern Sie den Teil . / Output.ipynb
in das Cloud-Ziel. Unten finden Sie ein Beispiel für AWS S3. Es kann ausgeführt werden, wenn es von der CLI konfiguriert wird.
papermill ./input.ipynb s3://xxxxxxxxxx/output.ipynb -f ./parameters.yaml
Wenn das Ausgabeziel mit dem Eingabeziel identisch ist, wird es überschrieben.
papermill ./input.ipynb ./input.ipynb -f ./parameters.yaml
Durch mehrmaliges Wiederholen wird nur die Zelle "Injected-parameters" überschrieben, sodass die Parameter ordnungsgemäß neu geschrieben werden.
Es scheint interessant zu sein, einen Verwaltungsbildschirm mit Flasche zu erstellen und das Lernen zu verwalten.
Recommended Posts