はじめに
Pythonでパッケージ管理や環境構築が手間になることがあります。リモートリポジトリをクローンして動かそうとしたら依存関係の問題で動かなかった...というのはよくある話です。
「パッケージを推奨バージョンに合わせたいけど、ローカル環境は汚したくない...」
そんなときに役立つツールがPoetryです。
ここでは、Poetryを使用して、ディープラーニング用の環境を構築する方法について解説します。
GPU対応のPytorchを使えるようにします。
Poetryを使えるようにする
homebrewを使ってインストールするのが一番楽です。
このリンクからhomebrewのページに飛んで、指示に従ってインストールしてください。
homebrewのインストールができたら、Poetryは以下のコマンドでインストールできます。
brew install poetry
プロジェクトの作成
新規の場合:
poetry new project_name
既存のプロジェクトをpoetryで管理するには:
poetry init
Poetryを使用してrequirements.txtからパッケージをインストールする
requirements.txtファイルに記載されたパッケージをPoetryで管理したい場合は、次のコマンド:
poetry add $( cat requirements.txt )
このコマンドは、requirements.txtファイルの中身を読み込んで、そのパッケージをプロジェクトに追加します。
GPU対応のPyTorchをPoetryを用いてインストール
この方法はPoetryの新しいバージョン(1.5.1)から可能になった方法です。古いバージョンだと動かないため、まずPoetry自身のアップデートを行っておきましょう。
poetry self update
次に、GPU対応のPyTorchをインストールします。これは特定のURLから直接PyTorchをインストールするための手順です。以下のコマンドで、PyTorchのインストール先として用いるリポジトリを追加します:
poetry source add torch_cu117 --priority=explicit https://download.pytorch.org/whl/cu117
URLの「cu117」の部分は自身の使っているcudaのバージョンに応じて変更してください。
その後、次のコマンドでPyTorch、Torchvision、Torchaudioをインストールします:
poetry add torch torchvision torchaudio --source torch_cu117
これでGPU付きのPytorchをPoetryで使えるようになりました。
仮想環境内に入るには以下のコマンドを実行します。
poetry shell
実際にGPUが使えるようになっているのか確認するために、以下のような内容が書かれたファイルを用意して実行してみましょう。
import torch
print(torch.cuda.is_available())
「True」と返ってくれば成功です。
おわりに
以前までPoetryを使ってPytorchでGPUを使うには、地味に面倒なやり方を使う必要があって、あまり好きじゃなかったんですが、1.5.1から楽に導入できるようになっていました。
では、皆さんも良いPoetryライフを。