ライフサイクル設定のベストプラクティス - Amazon SageMaker

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

ライフサイクル設定のベストプラクティス

以下は、ライフサイクル設定の使用に関するベストプラクティスです。

  • ライフサイクル設定は、root ユーザーとして実行されます。スクリプトが /home/ec2-user/SageMaker ディレクトリ内で何らかの変更を行う場合 (たとえば、pip を使用してパッケージをインストールする場合) は、ec2-user ユーザーとして sudo -u ec2-user コマンドを実行します。Amazon SageMaker の実行ユーザーと同じユーザーです。

  • SageMaker ノートブックインスタンスはconda環境を使用して、Jupyter ノートブック用に異なるカーネルを実装します。1 つ以上のノートブックカーネルで使用可能なパッケージをインストールするには、インストールするパッケージのカーネルを含む conda 環境をアクティブにする conda 環境コマンドで、パッケージをインストールするためのコマンドを囲みます。

    たとえば、python3 環境にのみパッケージをインストールする場合は、次のコードを使用します。

    #!/bin/bash sudo -u ec2-user -i <<'EOF' # This will affect only the Jupyter kernel called "conda_python3". source activate python3 # Replace myPackage with the name of the package you want to install. pip install myPackage # You can also perform "conda install" here as well. source deactivate EOF

    ノートブックインスタンス内のすべての conda 環境にパッケージをインストールする場合は、次のコードを使用します。

    #!/bin/bash sudo -u ec2-user -i <<'EOF' # Note that "base" is special environment name, include it there as well. for env in base /home/ec2-user/anaconda3/envs/*; do source /home/ec2-user/anaconda3/bin/activate $(basename "$env") # Installing packages in the Jupyter system environment can affect stability of your SageMaker # Notebook Instance. You can remove this check if you'd like to install Jupyter extensions, etc. if [ $env = 'JupyterSystemEnv' ]; then continue fi # Replace myPackage with the name of the package you want to install. pip install --upgrade --quiet myPackage # You can also perform "conda install" here as well. source /home/ec2-user/anaconda3/bin/deactivate done EOF
  • すべての conda 環境は、デフォルトの環境フォルダ (/home/user/anaconda3/envs) に保存する必要があります。

重要

スクリプトを作成または変更するときは、ノートブックの作成時にコンソールで使用できるテキストエディタなど、Unix スタイルの改行を提供するテキストエディタを使用することをお勧めします。Linux 以外のオペレーティングシステムからテキストをコピーすると、互換性のない改行が含まれ、予期しないエラーが発生する可能性があります。