papermill adalah alat untuk membuat parameter, mengeksekusi, dan menganalisis Notebook Jupyter.
Pabrik Kertas memungkinkan Anda:
Hal ini membuka peluang baru tentang bagaimana notebook dapat digunakan. Misalnya:
Papermill mengambil pendekatan yang berpendirian teguh terhadap parameterisasi dan eksekusi notebook berdasarkan pengalaman kami menggunakan notebook dalam skala besar dalam saluran data.
Dari baris perintah:
pip install papermill
Untuk semua dependensi io opsional, Anda dapat menentukan paket individual seperti s3
, atau azure
-- atau menggunakan all
. Untuk menggunakan Hitam untuk memformat parameter, Anda dapat menambahkan sebagai tambahan yang memerlukan ['hitam'].
pip install papermill[all]
Perpustakaan ini saat ini mendukung versi Python 3.8+. Karena versi minor Python secara resmi dihentikan oleh pabrik kertas organisasi Python, dukungan serupa juga akan dihentikan di masa mendatang.
Untuk membuat parameter buku catatan Anda, tentukan sel dengan tag parameters
.
Papermill mencari sel parameters
dan memperlakukan sel ini sebagai default untuk parameter yang diteruskan pada waktu eksekusi. Papermill akan menambahkan sel baru yang diberi tag dengan injected-parameters
dengan parameter masukan untuk menimpa nilai dalam parameters
. Jika tidak ada sel yang diberi tag dengan parameters
sel yang disuntikkan akan disisipkan di bagian atas buku catatan.
Selain itu, jika Anda menjalankan kembali buku catatan melalui pabrik kertas dan itu akan menggunakan kembali sel injected-parameters
dari proses sebelumnya. Dalam hal ini Papermill akan mengganti sel injected-parameters
lama dengan input proses yang baru.
Dua cara untuk mengeksekusi notebook dengan parameter adalah: (1) melalui Python API dan (2) melalui antarmuka baris perintah.
import papermill as pm
pm.execute_notebook(
'path/to/input.ipynb',
'path/to/output.ipynb',
parameters = dict(alpha=0.6, ratio=0.1)
)
Berikut ini contoh notebook lokal yang dieksekusi dan dikeluarkan ke akun Amazon S3:
$ papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
CATATAN: Jika Anda menggunakan beberapa akun AWS, dan Anda telah mengonfigurasi kredensial AWS Anda dengan benar, maka Anda dapat menentukan akun mana yang akan digunakan dengan mengatur variabel lingkungan AWS_PROFILE
di baris perintah. Misalnya:
$ AWS_PROFILE=dev_account papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
Dalam contoh di atas, dua parameter disetel: alpha
dan l1_ratio
menggunakan -p
( --parameters
juga berfungsi). Nilai parameter yang terlihat seperti boolean atau angka akan diinterpretasikan seperti itu. Berikut adalah berbagai cara pengguna menetapkan parameter:
$ papermill local/input.ipynb s3://bkt/output.ipynb -r version 1.0
Menggunakan -r
atau --parameters_raw
, pengguna dapat mengatur parameter satu per satu. Namun, tidak seperti -p
, parameternya akan tetap berupa string, meskipun dapat diartikan sebagai angka atau boolean.
$ papermill local/input.ipynb s3://bkt/output.ipynb -f parameters.yaml
Menggunakan -f
atau --parameters_file
, pengguna dapat menyediakan file YAML yang nilai parameternya harus dibaca.
$ papermill local/input.ipynb s3://bkt/output.ipynb -y "
alpha: 0.6
l1_ratio: 0.1"
Menggunakan -y
atau --parameters_yaml
, pengguna dapat langsung memberikan string YAML yang berisi nilai parameter.
$ papermill local/input.ipynb s3://bkt/output.ipynb -b YWxwaGE6IDAuNgpsMV9yYXRpbzogMC4xCg==
Dengan menggunakan -b
atau --parameters_base64
, pengguna dapat memberikan string YAML, yang dikodekan base64, yang berisi nilai parameter.
Saat menggunakan YAML untuk meneruskan argumen, melalui -y
, -b
atau -f
, nilai parameter dapat berupa array atau kamus:
$ papermill local/input.ipynb s3://bkt/output.ipynb -y "
x:
- 0.0
- 1.0
- 2.0
- 3.0
linear_function:
slope: 3.0
intercept: 1.0"
Papermill mendukung penangan nama berikut untuk jalur input dan output selama eksekusi:
Sistem file lokal: local
HTTP, protokol HTTPS: http://, https://
Layanan Web Amazon: AWS S3 s3://
Azure: Penyimpanan Azure DataLake, Penyimpanan Azure Blob adl://, abs://
Google Cloud: Penyimpanan Google Cloud gs://
Baca CONTRIBUTING.md untuk panduan tentang cara menyiapkan lingkungan pengembangan lokal dan membuat perubahan kode kembali ke Papermill.
Untuk pedoman pengembangan lihat di file DEVELOPMENT_GUIDE.md. Ini akan memberi tahu Anda tentang cara membuat penambahan tertentu pada basis kode.
Kami menghosting dokumentasi Papermill di ReadTheDocs.