外部ライブラリとカーネルのインストール - Amazon SageMaker AI

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

外部ライブラリとカーネルのインストール

重要

現在、ノートブックインスタンス環境のすべてのパッケージは Amazon SageMaker AI での使用がライセンスされており、追加の商用ライセンスは必要ありません。ただし、これは今後変更される可能性があります。使用許諾条項が改定されていないか、定期的に確認することをお勧めします。

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

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

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

https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.shhttps://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 AI はこれらのライブラリを更新しないため、カスタム環境に必要な特定のバージョンのライブラリがあることを確認できます。on-start スクリプトでは Jupyter カーネルとして作成したカスタム環境がインストールされ、Jupyter の [New] (新規) メニューのドロップダウンリストに環境が表示されます。

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

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

  • conda install

  • pip install

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

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

Conda

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

注記

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

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

注記

SageMaker AI AWS Deep Learning AMIs と Amazon EMR のユーザーは、これらのサービスで Anaconda を使用する場合、2024 年 2 月 1 日まで商用ライセンスを取得することなく、商用 Anaconda リポジトリにアクセスできます。2024 年 2 月 1 日以降に商用 Anaconda リポジトリを使用する場合、お客様は独自の Anaconda ライセンス要件を判断する責任があります。

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

SageMaker AI は、Conda 環境を Amazon EBS ボリュームに移動することをサポートしています。このボリュームは、インスタンスの停止時に保持されます。環境がルートボリュームにインストールされている場合は、環境が保持されません。これはデフォルトの動作です。ライフサイクルスクリプトのサンプルについては、「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 AI は、できるだけ多くのパッケージインストールオペレーションをサポートすることを目的としています。ただし、パッケージが SageMaker AI または DLAMI によってインストールされ、これらのパッケージで次のオペレーションを使用すると、ノートブックインスタンスが不安定になる可能性があります。

  • アンインストール

  • ダウングレード

  • アップグレード

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

ネットワークの状態や設定、Conda や PyPi の可用性などの潜在的な問題があるため、パッケージが一定の時間内にインストールされることは保証できません。

注記

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