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

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

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

重要

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

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

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

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

https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scriptspersistent-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 はオープンソースのパッケージ管理システムおよび環境管理システムで、パッケージとその依存関係をインストールできます。 は、2 つのメインチャネル、デフォルトチャネル、conda-forge チャネルのいずれかで Conda の使用 SageMaker をサポートします。詳細については、「Conda チャネル」を参照してください。conda-forge チャネルは、コントリビューターがパッケージをアップロードできるコミュニティチャネルです。

注記

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

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

注記

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

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

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

サポートされている conda オペレーション (このトピックの下部にある注釈を参照)
  • 単一環境でのパッケージの conda install

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

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

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

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

  • 使用する Conda インストール場所の変更 EBS

  • 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 環境へのパッケージのインストール

  • 使用する pip インストール場所の変更 EBS

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

サポートされていません

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

  • アンインストール

  • ダウングレード

  • アップグレード

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

ネットワーク条件や設定、または Conda や の可用性に関する潜在的な問題により PyPi、パッケージが固定時間または確定的な時間内にインストールされることを保証することはできません。

注記

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