見出し画像

【Paperspace】Jupyter NotebookをPython仮想環境で実行する

はじめに

Paperspaceで"pip install"でパッケージのインストールをしたら以下のような赤文字が出力された経験がありませんか?

Paperspaceにはデフォルトでインストールされているパッケージがありますが、自分のプロジェクトで使用するバージョンと異なる場合があります。バージョンが異なると、互換性問題が発生し、コードが正常に動作しなくなる可能性があります。

仮想環境を使用することで、Paperspaceにインストールされているパッケージとは別の環境でプロジェクトを実行することができます。これにより、バージョン競合や不要なパッケージのインストールを回避することができます。

今回は、Jupyter Notebookを使ったPython仮想環境の構築方法をご紹介します。

Paperspaceとは

AI開発者向けのクラウドコンピューティングサービスです。機械学習やデータサイエンスのタスクを行うための高性能GPUを備えた仮想マシンを提供し、定額制で利用できます。
Stable Diffusionなどの環境を構築して画像生成を行うことも可能です。個人から企業まで幅広く利用されているプラットフォームです。


事前準備

仮想環境を構築する前に以下の作業を行います。詳細については割愛します。

  • Paperspaceのアカウントにログイン

  • プロジェクトの作成

  • ノートブックの作成/起動

  • マシンの選択(GPUならA100とか、A6000とか…)

既にプロジェクトとノートブックを作成している場合は省略できます。


JupyterLabの起動

左側のメニューにあるアイコン「Open in JupyterLab」をクリックしてジュピターラボを起動します。


オレンジ色のアイコン


Launcher内にある「Terminal」をクリックします。

JupyterLabのLauncher


デフォルトであれば"/notebooks"からターミナルが起動します。
試しに以下のコマンドを実行するとたくさんのパッケージが表示されます。

pip list

これらはPaperspace側が事前に用意しているパッケージですので競合しないように仮想環境を構築していきましょう。


Python仮想環境を作成する

ターミナルで任意のフォルダ(場所)に移動して以下のコマンドを実行します。「myenv」の部分は「venv」、「.venv」などお好きな名前に変更してください。今回は、"/notebooks"の場所で仮想環境を作成します。

python3 -m venv myenv


仮想環境をアクティベートする

以下のコマンドを実行すると、先頭に先ほど作成した仮想環境の名前がカッコ()つきで表示されます。("myenv"の部分は先ほど設定した名前に変更してください)

source ./myenv/bin/activate


仮想環境にIPythonカーネル(ipykernel)をインストール

以下のコマンド(pip以降)を実行してインストールします。

(myenv) root@xxxxxx:/notebooks# pip install ipykernel


IPythonカーネルをJupyter Notebookに認識させる

以下のコマンドを実行します。

python3 -m ipykernel install --user --name myenv --display-name "Python(myenv)"


Jupyter NotebookでIPythonカーネル

先ほどターミナルを選択したように「+」ボタンをクリックして、新たにLauncherを開きます。認識に少し時間がかかりますが、Notebookに以下のようPython(仮想環境名)が表示されていればOKです。それをクリックしましょう。


あとは、いつものようにジュピターノートブックを実行していきましょう。


IPythonカーネルを切り替える

元々、作成していたジュピターノートブックに仮想環境を適用したい場合は、右上の「Switch kernel」をクリックします。



「Select Kernel」画面から先ほど作成したカーネルを選択します。


これで、既存のノートブック(ipynbファイル)も仮想環境下で行うことができます。


まとめ

LLMのファインチューニングやStable Diffusionでは依存関係に結構悩まされていました。今回、Paperspace上で仮想環境を構築する方法の一つとして、ジュピターノートブックで行いました。参考になれば幸いです。


参考記事


この記事が気に入ったらサポートをしてみませんか?