[PYTHON] Ich habe es mit Papiermühle versucht

Einführung

"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.

Referenz

Umgebung

Verfahren

Installation

pip install papermill

Lauf

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.

image.png

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.

image.png

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

Bonus

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.

abschließend

Es scheint interessant zu sein, einen Verwaltungsbildschirm mit Flasche zu erstellen und das Lernen zu verwalten.

Recommended Posts

Ich habe es mit Papiermühle versucht
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, Pymc auszuführen
Ich habe ARP-Spoofing ausprobiert
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe Python> autopep8 ausprobiert
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe PyCaret2.0 (pycaret-nightly) ausprobiert.
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, tief zu lernen
Ich habe AWS CDK ausprobiert!
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe Kivys Kartenansicht ausprobiert
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, EfficientDet zu verschieben
Ich habe versucht, Shell zu programmieren
Ich habe versucht, doctest zu verwenden
Ich habe Python> Decorator ausprobiert
Ich habe versucht, TensorFlow auszuführen
Ich habe Auto Gluon ausprobiert
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe AWS Iot ausprobiert
Ich habe die Bayes'sche Optimierung ausprobiert!
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe fp-Wachstum mit Python versucht
Ich habe die Bildklassifizierung von AutoGluon ausprobiert
Ich habe versucht, PredNet zu lernen
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, mit PyCaret zu clustern
Ich habe versucht, BigQuery ML zu verwenden
Ich habe "K-Fold Target Encoding" ausprobiert.