2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JupyterNotebook をスクリプトのように実行できる Pepermill についてのメモ

Posted at

この記事はなに?

JupyterNotebook を pythonスクリプトのように実行できる pythonライブラリ Pepermill について自分が調べたものをまとめたものです。

公式

Papermillとは

PepermillはPythonベースのオープンソースのパッケージで、JupyterNotebookを実行し、Notebookのパラメータを変更して、複数のバージョンを生成できるようにするツールです。

インストール

pip install papermill

Jupyter Notebookを実行する方法

パラメータの設定

まずは実行する Notebookを作成し、以下の手順で変数を定義します。

  1. View, Cell Toolbar, Tags からタグ付けツールバーを有効にする
  2. セルの右上にあるテキストボックスにパラメータを入力する
  3. Add tagをクリック
    image.png

こうすることで、変数をPepermillのパラメータとすることができます。
papermillはnotebook内のparametersタグが付いたをセルを探しに行って、セル内の変数を書き換えることができます。

Notebookの実行

Pepermillを使用してNotebookを実行するには、以下のコマンドを使用します。

papermill input_notebook.ipynb output_notebook.ipynb -p parameter1 value1 -p parameter2 value2 ...
  • input_notebook.ipynb 入力ノートブックのファイルパス
  • output_notebook.ipynbは出力ノートブックのファイルパス
  • -p でノートブック内のパラメータの値を指定できます。

コマンドを実行すると、入力ノートブックに設定したパラメータの値を -p で指定した値に書き換えて実行し、出力ノートブックに結果を保存することができます。

pythonスクリプトからNotebookを実行

以下のように, pythonスクリプトから実行することもできます。

import papermill as pm

# パラメータを辞書形式で定義
parameters = {"param1": 10, "param2": "hello"}

# notebookを実行
pm.execute_notebook(
   input_path='input.ipynb',
   output_path='output.ipynb',
   parameters=parameters
)

まとめ

異なるパラメータセットを使用して同じノートブックを繰り返し実行する必要がある場合は、Pepermillを使うと便利そうです。
例えばグラフ作成に使用する変数をパラメータ化し、異なるグラフや表を簡単に生成するなどの利用法が考えられそうです。
また、POCで使用したNotebookをそのまま機械学習、データ分析のパイプラインに使用したりもできそうです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?