ノートブックインスタンスに外部ライブラリとカーネルをインストールする - アマゾン SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ノートブックインスタンスに外部ライブラリとカーネルをインストールする

アマゾン SageMaker ノートブックインスタンスには、複数の環境がすでにインストールされています。これらの環境には、Jupyter カーネルと scikit、Pandas、という名前のパッケージが含まれています。 NumPy, TensorFlow、MXNet。これらの環境と、sample-notebooks フォルダ内のすべてのファイルは、ノートブックインスタンスを停止して起動すると更新されます。選択したパッケージとカーネルを含む独自の環境をインストールすることもできます。

Amazon の Jupyter カーネルの違い SageMaker ノートブックインスタンスは別々の conda 環境です。conda 環境については、Conda のドキュメントの 「環境を管理する」を参照してください。https://conda.io/docs/user-guide/tasks/manage-environments.html

ノートブックインスタンスの Amazon EBS ボリュームにカスタム環境とカーネルをインストールします。これにより、ノートブックインスタンスを停止して再起動した場合でもそれらが維持され、インストールした外部ライブラリが SageMaker。そのためには、ノートブックインスタンスの作成時に実行されるスクリプト (on-create)) とノートブックインスタンスを再起動するたびに実行されるスクリプト (on-start) の両方を含むライフサイクル設定を使用します。ノートブックインスタンスのライフサイクル設定の使用方法については、「ライフサイクル設定スクリプトを使用したノートブックインスタンスをカスタマイズします。」を参照してください。あります GitHubサンプルライフサイクル設定スクリプトを含むリポジトリSageMakerノートブックインスタンスのライフサイクルConfig サンプル

での例https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.shそしてhttps://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-start.shノートブックインスタンスに環境とカーネルをインストールするベストプラクティスを示します。on-create スクリプトによって、Jupyter カーネルとしてカスタム環境を作成する ipykernel ライブラリがインストールされ、pip installconda install を使用してライブラリがインストールされます。スクリプトを調整すれば、必要なカスタム環境を作成してライブラリをインストールできます。 SageMaker ノートブックインスタンスを停止して再起動しても、ではこれらのライブラリが更新されないため、必要な特定のバージョンのライブラリをカスタム環境に確実に設定できます。on-start スクリプトでは Jupyter カーネルとして作成したカスタム環境がインストールされ、Jupyter の [New] (新規) メニューのドロップダウンリストに環境が表示されます。

パッケージインストールツール

SageMaker ノートブックでは、次のパッケージインストールツールをサポートしています。

  • conda install

  • pip install

パッケージは、次の方法を使用してインストールできます。

ノートブック内からシステムコマンド構文 (! で始まる行) を使用して、パッケージをインストールできます (例: !pip install!conda install)。最近、新しいコマンドが IPython に追加されました (%pip%conda)。使用されているアクティブ環境やインタプリタが正しく考慮されるため、ノートブックからパッケージをインストールする際には、これらのコマンドを使用することをお勧めします。詳細については、「%pip and %conda マジック関数を追加する」を参照してください。

Conda

Conda は、オープンソースのパッケージ管理システムおよび環境管理システムであり、パッケージとその依存関係をインストールできます。 SageMaker は、デフォルトチャネルと conda-forge チャネルの 2 つのメインチャネルでの Conda の使用をサポートしています。詳細については、「Conda チャネル」を参照してください。conda-forge チャネルは、コントリビューターがパッケージをアップロードできるコミュニティチャネルです。

注記

Conda による依存関係グラフの解決方法が原因となり、conda-forge からのパッケージのインストールに非常に長い時間がかかることがあります (最もかかる場合は 10 分以上)。

深層学習 AMI には、多くの conda 環境とパッケージがプリインストールされています。プリインストールされているパッケージの数が多いため、互換性が保証されているパッケージのセットを見つけることは困難です。「The environment is inconsistent, please check the package plan carefully」(環境が矛盾しています。パッケージプランをよく確認してください) という警告が表示されることがあります。この警告にもかかわらず、 SageMaker すべてのことを保証します SageMaker 提供された環境は正しい。 SageMaker では、ユーザーがインストールしたパッケージが正しく機能することを保証できません。

Conda では、conda activate/deactivate と source activate/deactivate の 2 つの方法を使用して、環境を有効化できます。詳細については、「Linuxで conda activate を使いますか、source activate を使いますか」を参照してください。

SageMaker は、Amazon EBS ボリュームへの Conda 環境の移動をサポートします。移動した環境は、インスタンスが停止しても保持されます。環境がルートボリュームにインストールされている場合は、環境が保持されません。これはデフォルトの動作です。ライフサイクルスクリプトのサンプルについては、「」を参照してください。persistent-conda-ebs

サポートされている conda オペレーション (このトピックの下部にある注釈を参照)

  • 単一環境でのパッケージの conda install

  • すべての環境でのパッケージの conda install

  • R 環境での R パッケージの conda install

  • メイン conda リポジトリからのパッケージのインストール

  • conda-forge からのパッケージのインストール

  • EBS を使用する conda install の場所の変更

  • conda activate と source activate の両方のサポート

Pip

Pip は Python パッケージをインストールして管理するための標準ツールです。Pip は、デフォルトで Python パッケージインデックス (PyPI) 上のパッケージを検索します。Conda とは異なり、pip には環境サポートが組み込まれておらず、ネイティブ/システムライブラリの依存関係を持つパッケージに関しては Conda ほどの完全性を持ちません Pip は Conda 環境にパッケージをインストールする際に使用できます。

PyPI の代わりに pip で代替パッケージリポジトリを使用できます。ライフサイクルスクリプトのサンプルについては、「on-start.sh」を参照してください。

サポートされている pip オペレーション (このトピックの下部にある注釈を参照)

  • pip を使用した、アクティブな conda 環境のないパッケージのインストール (パッケージをシステム全体にインストールする)

  • pip を使用した、conda 環境へのパッケージのインストール

  • pip を使用した、すべての conda 環境へのパッケージのインストール

  • EBS を使用する pip install の場所の変更

  • 代替リポジトリを使用した、pip によるパッケージのインストール

サポートされていません

SageMaker は、できるだけ多くのパッケージインストールオペレーションをサポートすることを目指しています。ただし、パッケージが SageMaker または DLAMI を使用してこれらのパッケージで次のオペレーションを実行すると、ノートブックインスタンスが不安定になる場合があります。

  • アンインストール

  • ダウングレード

  • アップグレード

yum install によるパッケージのインストールや、CRAN からの R パッケージのインストールはサポートされません。

ネットワークの状態や設定、Conda や PyPiの場合、パッケージが一定の時間内にインストールされることは保証できません。

注記

パッケージが正常にインストールされることは保証できません。互換性のない依存関係を持つ環境にパッケージをインストールしようとすると、インストールが失敗する可能性があります。そのような場合は、ライブラリのメンテナンス担当者に連絡して、パッケージの依存関係を更新できるかどうかを確認してください。また、インストールを許可するように環境を変更することもできます。ただし、このような変更を行う場合は、既存のパッケージを削除または更新する必要があり、この環境の安定性が保証されなくなります。