requirements.txtでリポジトリーURLを指定したいことがあります。たとえばSageMakerではコード用のディレクトリーにrequirements.txtを配置することで、起動時に依存ライブラリーをインストールしてくれます。その際に問題になるのが、Neuron系のライブラリーではリポジトリーURLを指定する必要があることです。
$ pip install --extra-index-url https://pip.repos.neuron.amazonaws.com torch-neuronx torchvision
通常はこのようにコマンドラインからオプションを指定したり、 pip config set
としてグローバルの設定を追加するものです。ですが設定できるポイントが requirements.txt
しかない場合は以下のように対処できます。
requiremets.txtに--extra-index-urlオプションを書く
requirements.txtには --extra-index-url
などのオプションを書けます。
--extra-index-url https://pip.repos.neuron.amazonaws.com torch-neuronx==... neuronx-cc==... torchvision==...
これでAWS Neuron向けのリポジトリーを使ってインストールできます。
当該リポジトリーにないパッケージはどうなる?
オプションの指定が --extra-index-url
なので、指定したリポジトリーにパッケージがない場合はPyPIからインストールされます。たとえばsentencepieceはAWS Neuronのリポジトリーにはありませんが、一緒に書いてもよしなにインストールしてくれます。
おわりに
もう明日はクリスマスですね。Shodoアドベントカレンダーもここまでこれて良かったです!
明日で最後!