Jupyter環境からの書き出し

ワンポイント知識最終更新:

機械学習プロジェクトは、Jupyterノートブック環境で作られる傾向があります。コードを部分的に実行でき、グラフなどの画像を表示しやすい利点が、Jupyterノートブック環境にはあります。

しかし、プロジェクトをノートブックがない環境で実行したり、Pythonプロジェクトを実行ファイル形式に書き出す必要がある場合は、ノートブック環境下から書き出す必要があります。本記事では、その方法を簡単にご紹介します。

1. 最初の状態

最初の状態は、Jupyterノートブックで機械学習プロジェクトが制作されていることを想定します。

Jupyterノートブック環境を確認する

Jupyterノートブック環境を確認する

モデルを使用するコードを確認

 ここでは、ニューラルネットワークを用いた機械学習プロジェクトを想定し、モデルを訓練し終えた状態から始めていきます。モデルはWGANを使用した画像生成を行う生成AIモデルになります。

 まだJupyterノートブック上ですが、これから分離することを考慮にいれ 、必要なライブラリを取り入れるコードから書き入れておきます。そして、今回はKerasを利用して生成AIモデルを構築したため、同じくKerasの機能を使用し、訓練したモデルを読み込んでいます。それが、tf.keras.models.load_model() 関数を実行している部分になります。

読み込んだモデルを使用する関数を用意

読み込んだモデルを使用する関数を用意

モデルを使用する関数

モデルが読み込まれ、それを使用し画像を生成するための関数を用意します。Jupyterノートブック環境でモデルを構築するときも、確認のためにモデルを使用するコードは書くことが多いです。そのため、この作業も既存のモデル確認用のコードを整えたり、またはそのまま使用することになること思います。

ここでは、指定しているフォルダに、1000枚の画像を生成するため、100という大きさの入力値を与えています。このように書き出す場所や生成する枚数を決めておくのは、可変性がないと言えざるを得ません。そこで、このような箇所も変数にし、ユーザが決めれるようにする方が柔軟性があると言えるでしょう。

2. 書き出し作業と確認

書き出す作業を行います。

Jupyterノートブックからの書き出し

Jupyterノートブックからの書き出し

書き出し作業

実際の書き出し作業は、JupyterノートブックのFileメニュのSave and Export Notebook As / Executable Script で.py形式のファイルに変換することで行いました。

すると、ダウンロードされます。

すると、ダウンロードされます。

書き出された状態

書き出された状態

書き出されたPythonファイル

Jupyterノートブックから書き出すと、ノートブックの時に使用出来た、簡単な変数の確認結果は省略されます。必要な確認用コードのみを残して整えておきましょう。

コマンドラインで実行

コマンドラインで実行

実行結果

実行結果

結果を確認

それでは、コマンドラインツールで実行します。すると、Jypyterノートブックの結果表示と同様、モデルの詳細が表示されたり、画像が生成されます。このように一旦一般的なPythonファイルで実行できるようにし、PyInstaller等を用いて、Nativeな実行形式に更に変換することで、配布可能なアプリにすることができます。

生成されたイメージ

生成されたイメージ
← コース一覧へ戻る ページの先頭へ ↑