コンダ環境の別のリージョンへのコピー

このチュートリアルでは、ノートブック・セッションにconda環境をインストールします。次に、同じconda環境を別のリージョンでホストする2つ目のノートブック・セッションにインストールするために必要なステップを実行します。

主なタスクは:

  • テナンシの2つの異なるリージョンに2つのバケットを作成します。
  • 各バケットをリージョン内のノートブック・セッションに登録します。
  • 1つ目のノートブック・セッションにconda環境をインストールします。
  • conda環境を公開します。(環境にアクセスできる任意のノートブック・セッションからインストールできるようにconda環境を準備します。)
  • 最初のノートブック・セッションから、公開されたconda環境を同じリージョンのバケットに追加します。
  • 公開されたconda環境をバケット間でコピーします。
  • 2つ目のリージョンのノートブック・セッションで、2つ目のバケットを使用してconda環境をインストールします。

その他の情報については、次のWebサイトを参照してください。

開始する前に

このチュートリアルを正常に実行するには、次が必要です:

要件
  • 有料Oracle Cloud Infrastructure (OCI)アカウントまたはOracle Cloudプロモーションの新しいアカウント。無料Oracle Cloudプロモーションのリクエストおよび管理を参照してください。

  • MacOS、LinuxまたはWindowsコンピュータ。
  • データ・サイエンス・チュートリアル:
    • データ・サイエンス・テナンシの手動構成すべてのステップを実行し、次のプロパティで2つのノートブック・セッションを作成します:
      • 作業のコンパートメントにdata-science-workという名前を付けます。
      • 2つのリージョンにノートブック・セッションを作成します:
        • リージョンを変更するには、コンソールの上部のナビゲーション・バーでリージョンをクリックし、新しいリージョンの名前をクリックします。たとえば、US West (Phoenix)からUS East (Ashburn)に切り替えます。
        • プロジェクトおよびノートブック・セッションに名前を付けます:
          • <region-1>: Initial Projectおよびmy-first-notebook-session
          • <region-2>: Second Projectおよびmy-second-notebook-session

1. バケットの作成

my-first-notebook-sessionおよびmy-second-notebook-sessionのconda環境を格納する2つのバケットを作成します。

2つのバケットの作成

<region-1>にバケットを作成し、<region-2>に別のバケットを作成します。

  1. ナビゲーション・メニューを開き、「ストレージ」をクリックします。「オブジェクト・ストレージおよびアーカイブ・ストレージ」で、「バケット」をクリックします。
  2. 左側のナビゲーションの「リストのスコープ」で、data-science-workコンパートメントを選択します。
  3. 上部のナビゲーション・バーで、<region-1>を選択します。たとえば、US West (Phoenix)です。
  4. 「バケットの作成」をクリックします。
  5. 次の情報を入力します:
    • 名前: bucket-1
    • 他のフィールドはデフォルト値のままにします。
      • デフォルト・ストレージ層:標準
      • 暗号化: Oracle管理キーを使用した暗号化
  6. 「作成」をクリックします。
  7. バケットのリストで、bucket-1プライベート可視性になっていることを確認します:
    バケットは、作成後に可視性を変更しないかぎりプライベートです。
  8. 上部のナビゲーション・バーで<region-1>をクリックし、リージョンのリストから<region-2>をクリックします。たとえば、US East (Ashburn)に切り替えます。
  9. 前のステップを繰り返して、<region-2>bucket-2を作成します。
2つの異なるリージョンに2つのプライベート・バケットが正常に作成されました。
テナンシ・ネームスペースの取得

すべてのテナンシには、システム生成の一意の不変オブジェクト・ストレージ・ネームスペース名があります。このネームスペース名は、すべてのリージョンで同じです。このステップでは、このネームスペース名をコピーし、後でそれを使用してバケットをノートブック・セッションに登録します。

  1. ナビゲーション・メニューを開き、「ストレージ」をクリックします。「オブジェクト・ストレージおよびアーカイブ・ストレージ」で、「バケット」をクリックします。
  2. 左側のナビゲーションの「リストのスコープ」で、data-science-workコンパートメントを選択します。
  3. 上部のナビゲーション・バーで、<region-2>を選択します。たとえば、US East (Ashburn)です。
  4. バケットのリストで、bucket-2をクリックします。
  5. ノートパッドにネームスペース(<tenancy-namespace>)をコピーします。
    ノート

    ネームスペース名は、テナンシ内で一意です。bucket-1bucket-2が異なるテナントにある場合は、両方のバケットのネームスペース名をコピーします。

2. リージョン1でのConda環境の公開

ノートブック・セッションにconda環境をインストールします。次に、ノートブック・セッションからconda環境をバケットに公開します。

bucket-1の登録

bucket-1my-first-notebook-sessionに登録します。

  1. コンソールの上部のナビゲーション・バーで、<region-1>を選択します。
  2. 左側のナビゲーションの「リストのスコープ」で、data-science-workコンパートメントを選択します。
  3. ナビゲーション・メニューを開き、「アナリティクスとAI」をクリックします。「機械学習」で、「データ・サイエンス」をクリックします。
  4. プロジェクトのリストで、Initial Projectをクリックします。
  5. my-first-notebook-sessionをクリックし、「開く」をクリックします。
  6. 資格証明を入力して、JupyterLab対話型ノートブックにアクセスします。
  7. UIにランチャというタブがない場合は、「ファイル」「新規ランチャ」の順にクリックします。
  8. ランチャの「その他」で、「ターミナル」アイコンをクリックして新しいターミナル・セッションを開始します。
  9. ターミナルで、次のコマンドを入力します。

    <tenancy-namespace>を、「バケットの作成」セクションで収集した情報に置き換えます。

    odsc conda init -b bucket-1 -n <tenancy-namespace>
  10. 「ファイル」に移動し、「パスから開く...」をクリックします。「オープン・パス」フィールドに、/condaと入力します。
  11. 前述のコマンドでバケットがノートブックに登録されたことを確認するには、condaフォルダでconfig.yamlをクリックし、次のコード・ブロックでbucket-1およびネームスペースを検索します:
    auth_mode: resource_principal
    bucket_info:
      name: bucket-1
      namespace: <tenancy-namespace>
    pack_prefix: conda_environments
Conda環境のインストール

ノートブック・セッションに事前構築済のデータ・サイエンスconda環境をインストールします。

  1. my-first-notebook-sessionで、「ファイル」「新規ランチャ」の順にクリックします。
  2. 「ランチャ」の「拡張機能」で、「環境エクスプローラ」アイコンをクリックします。
  3. 「Conda環境」のリストで、「Python 3.9上のCPU用ONNX 1.10」を展開します。
  4. コマンドをコピーしてPython 3.9上のCPU用ONNX 1.10をインストールし、ターミナルに貼り付けます:
    odsc conda install -s onnx110_p39_cpu_v1 
    • バージョン番号は、1.0などデフォルトで表示される値のままにします。
    • 出力例:
      Version number [1.0]? 
      Environment slug: onnx110_p39_cpu_v1
      INFO:ODSC:Verifying that /home/datascience/conda/onnx110_p39_cpu_v1 exists.
      INFO:ODSC:Downloading conda pack onnx110_p39_cpu_v1...
      INFO:ODSC:Writing to /home/datascience/.onnx110_p39_cpu_v1.tar.gz
      Downloading pack onnx110_p39_cpu_v1: 100% ...INFO:ODSC:download complete
      INFO:ODSC:Extracting conda pack /home/datascience/.onnx110_p39_cpu_v1.tar.gz...
      INFO:ODSC:Downloading Notebooks for the pack: ONNX 1.10 for CPU on Python 3.9
      INFO:ODSC:Checking for notebooks with prefix notebooks/onnx110_p39_cpu_v1/
      Saving Notebooks:   0%|                                                                                       | 0/1 [00:00<?, ?it/s]INFO:ODSC:Notebook location /home/datascience/conda/notebooks/onnx110_p39_cpu_v1/getting-started.ipynb...
      Saving Notebooks: 100%| 1/1 [00:00<00:00,  8.28it/s]
      INFO:ODSC:Start to update the kernel name...
      INFO:ODSC:Conda environment setup complete.
      The environment setup is complete. 
      To activate it for use in the terminal run `conda activate /home/datascience/conda/onnx110_p39_cpu_v1`. 
      It may take a few seconds for the kernel to appear in the JupyterLab launcher. 
      To change the description of the environment, update /home/datascience/conda/onnx110_p39_cpu_v1/*_manifest.yaml. 
  5. パッケージがインストールされていることを確認します:
    odsc conda list -l

    出力例:

    packages:
      local_ONNX_1.10_for_CPU_on_Python_3.9_1.0:
      - arch_type: CPU
        conda_name: onnx110_p39_cpu_v1
        description: 'This environment is designed to provided to test and execute your
          ONNX model artifacts. ONNX is an open source, open model format which allows
          you to save a model from different machine learning (ML) libraries into a single,
          portable format that is independent of the training library. ONNX models can
          be deployed through Oracle Cloud Infrastruture Data Science Model Deployment
          service. Use this conda environment to convert models from most ML libraries
          into ONNX format. Then use the ONNX runtime to perform inferencing. Review the
          processing steps that your model makes by having ONNX generate a graph of the
          model workflow.
    
          To get started with the ONNX environment, review the getting-started notebook.
    
          '
        libraries:
        - onnx (v1.10.2)
        - onnxconverter-common (v1.9.0)
        - onnxmltools (v1.10.0)
        - onnxruntime (v1.10.0)
        - oracle-ads (v2.6.1)
        logo: onnx
        manifest_version: '1.0'
        name: ONNX 1.10 for CPU on Python 3.9
        notebooks:
        - notebooks/onnx110_p39_cpu_v1/
        pack_path: oci://service-conda-packs@id19sfcrra6z/service_pack/cpu/ONNX_1.10_for_CPU_on_Python_3.9/1.0/onnx110_p39_cpu_v1
        python: '3.9'
        slug: onnx110_p39_cpu_v1
        type: local
        version: '1.0'
  6. 環境エクスプローラで、リフレッシュ・アイコンをクリックします。
  7. 「インストールされたConda環境」リンクをクリックします。
  8. 「Conda環境」のリストで、Python 3.9上のCPU用のONNX 1.10がリストされていることを確認します。
  9. 次に、「ファイル」「新規ランチャ」の順に選択します。「カーネル」セクションで、公開されているconda環境、アイコンとしてリストされているPython 3.9上のCPUの場合はONNX 1.10を見つけます。
<region-1>のノートブック・セッションにconda環境が正常にインストールされました。
Conda環境の公開

ノートブック・セッションに登録されたバケットにconda環境を公開します。

  1. my-first-notebook-session環境エクスプローラで、「インストールされたCda環境」をクリックします。
  2. ONNX 1.10 for CPU on Python 3.9を展開します。
  3. コマンドをコピーして、Python 3.9上のCPU用ONNX 1.10を公開します:
  4. コマンドをコピーしてPython 3.9上のCPU用ONNX 1.10を公開し、ノートブック・セッションのターミナルに公開コマンドを貼り付け、[Enter]を押します。
    odsc conda publish -s onnx110_p39_cpu_v1

    出力例:

    INFO:ODSC:Saving onnx110_p39_cpu_v1
    INFO:ODSC:Loading environment information from /home/datascience/conda/onnx110_p39_cpu_v1/ONNX_1.10_for_CPU_on_Python_3.9_manifest.yaml.
    INFO:ODSC:Overwriting manifest file at /home/datascience/conda/onnx110_p39_cpu_v1/ONNX_1.10_for_CPU_on_Python_3.9_manifest.yaml with latest dependency information
    /opt/conda/lib/python3.8/site-packages/conda_pack/core.py:56:
    ...
    INFO:ODSC:Saving conda environment to object storage: {'name': 'bucket-1', 'namespace': '<tenancy-namespace>'}
    INFO:ODSC:The upload id is <some-id>.
    ...
    INFO:ODSC:/home/datascience/conda/tmp/onnx110_p39_cpu_v1.tar.gz uploaded successfuly..
    INFO:ODSC:Conda env saved...
  5. 環境エクスプローラで、「リフレッシュ」をクリックします。
  6. 「公開されたConda環境」リンクをクリックします。
  7. 「Conda環境」のリストで、Python 3.9上のCPU用のONNX 1.10がリストされていることを確認します。
<region-1>バケットにconda環境が正常に公開されました。

3. リージョン2へのバケットのコピー

公開されたconda環境をbucket-1からbucket-2にコピーします。

バケットのコンテンツのコピー

公開されたconda環境は、オブジェクトとしてbucket-1に格納されます。このオブジェクトをbucket-2にコピーします。

  1. ナビゲーション・メニューを開き、「ストレージ」をクリックします。「オブジェクト・ストレージおよびアーカイブ・ストレージ」で、「バケット」をクリックします。
  2. 左側のナビゲーションの「リストのスコープ」で、data-science-workコンパートメントを選択します。
  3. 上部のナビゲーション・バーで、<region-1>を選択します。たとえば、US West (Phoenix)です。
  4. bucket-1をクリックします。
  5. 「オブジェクト」で、conda_environmentscpuONNX 1.10 for CPU on Python 3.9および1.0を展開してonnx110_p39_cpu_v1にアクセスします。
  6. onnx110_p39_cpu_v1の「アクション」メニューをクリックし、「コピー」をクリックします。
  7. 次の情報を入力します:
    • 宛先ネームスペース: <tenancy-namespace>
    • 宛先リージョン: <region-2>(US East (Ashburn)など)。
    • 宛先バケット: bucket-2
    • 宛先オブジェクト名: ディレクトリ構造を維持するためにデフォルトの文字列のままにします。
    • 他のフィールドはデフォルト値のままにします。
      • 宛先ストレージ層: (空白のまま)
      • 上書きルール: 宛先オブジェクトの上書き
  8. 「オブジェクトのコピー」をクリックします。
  9. 正しいIAMポリシー・ステートメントがないという警告セクションが表示された場合は、「ステートメントの追加を試行」をクリックします。
    Allow service objectstorage-<region-1> to manage object-family in compartment data-science-work

    この警告メッセージが表示されない場合は、次の3つのステップをスキップします。

  10. 「IAMポリシーの追加」パネルで、デフォルトのままにします。
    • 名前: console-iam-policy-<timestamp>
    • 説明: <timestamp>でコンソールによって作成されたIAMポリシー・ステートメント
    • ルート・コンパートメントへのポリシー・ステートメントの追加:選択されていません
    • ポリシー・ステートメント:
      Allow service objectstorage-<region-1> to manage object-family in compartment data-science-work
  11. (オプション)他のリージョンのオブジェクトのコンパートメントへのコピーを許可するには、「IAMポリシーの追加」パネルの「ポリシー・ステートメント」セクションに、次のポリシーを追加します
    Note

    To allow objects in other regions to be copied to your compartment, for each region, in a new line, add the following policy to the Policy Statements section in the Add IAM Policy panel:
    allow service objectstorage-<region_name> to manage object-family in compartment data-science-work
    <region_name>変数の値の例を次に示します。
    • objectstorage-us-phoenix-1
    • objectstorage-us-ashburn-1
    • objectstorage-eu-frankfurt-1
    • objectstorage-uk-london-1
    • objectstorage-ap-tokyo-1

    ここで、object-storage-<region_name>にはソース・バケットが含まれ、コピー操作が実行されます。

    リージョン名の完全なリストについては、リージョンと可用性ドメインの表を参照してください。

    オブジェクトを他のリージョンにコピーする方法の詳細は、サービス権限を参照してください。

  12. 「作成」をクリックします。
  13. Policies added successfully」というメッセージが表示されるまで待ちます。
  14. 「オブジェクトのコピー」をクリックします。
  15. 「作業リクエストの詳細」ダイアログで、「ステータス」「完了」「完了率」100%と表示されていることを確認します。次に、ダイアログを閉じます
2つ目のバケットでのコンテンツの検証

公開されたconda環境がオブジェクトとしてbucket-2に格納されていることを確認します。

  1. 上部のナビゲーション・バーで、<region-2>を選択します。たとえば、US East (Ashburn)です。
  2. bucket-2をクリックします。
  3. 「オブジェクト」で、conda_environmentscpuONNX 1.10 for CPU on Python 3.9および1.0を展開してonnx110_p39_cpu_v1にアクセスします。
bucket-1からbucket-2に、公開されたconda環境が正常にコピーされました。

4. リージョン2へのConda環境のインストール

2つ目のリージョンのノートブック・セッションにbucket-2を登録します。次に、ノートブック・セッションにconda環境をインストールして表示します。

bucket-2の登録

bucket-2<region-2>my-second-notebook-sessionに登録します。

  1. コンソールの上部のナビゲーション・バーで、region-2を選択します。
  2. ナビゲーション・メニューを開き、「アナリティクスとAI」をクリックします。「機械学習」で、「データ・サイエンス」をクリックします。
  3. 左側のナビゲーションの「リストのスコープ」で、data-science-workコンパートメントを選択します。
  4. プロジェクトのリストで、Second Projectをクリックします。
  5. my-second-notebook-sessionをクリックし、「開く」をクリックします。
  6. JupyterLab UIにアクセスするための資格証明を入力します。
  7. ランチャというタブがない場合は、「ファイル」「新規ランチャ」の順にクリックします。
  8. ランチャで、「ターミナル」をクリックします。
  9. ターミナルで、次のコマンドを入力します。

    <tenancy-namespace>を、「バケットの作成」セクションで収集した情報に置き換えます。

    odsc conda init -b bucket-2 -n <tenancy-namespace>
  10. バケットがノートブックに登録されていることを確認します:

    ファイル・エクスプローラ・セクションで、condaフォルダの下のconfig.yamlをクリックし、次のコードについてファイルを確認します:

    auth_mode: resource_principal
    bucket_info:
      name: bucket-2
      namespace: <tenancy-namespace>
    pack_prefix: conda_environments
公開されたConda環境のインストール

コピーしたconda環境を2つ目のノートブック・セッションで表示します。

  1. my-second-notebook-sessionで、「ファイル」「新規ランチャ」の順にクリックします。
  2. 「Launcher」の「Kernels」で、「Environment Explorer」アイコンをクリックします。
  3. 「公開されたConda環境」リンクをクリックします。
  4. 「Conda環境」のリストで、「Python 3.9上のCPU用ONNX 1.10」を展開します。
    ノート

    ノートブック・セッションに公開されたconda環境があるということは、次のことを意味します:
    • そのconda環境をノートブック・セッションにインストールできます。
    • 公開されたconda環境はまだインストールされていない可能性があります。
    • conda環境を使用する場合は、ここからインストールできます。
    • 公開されたconda環境は、インストール後も公開されたconda環境のリストに残ります。
  5. コマンドをコピーしてPython 3.9上のCPU用ONNX 1.10をインストールし、ターミナルに貼り付けます:
    odsc conda install -s onnx110_p39_cpu_v1 
    • バージョン番号は、1.0などデフォルトで表示される値のままにします。
    • 出力例:
      Version number [1.0]? 
      Environment slug: onnx110_p39_cpu_v1
      INFO:ODSC:Verifying that /home/datascience/conda/onnx110_p39_cpu_v1 exists.
      INFO:ODSC:Downloading conda pack onnx110_p39_cpu_v1...
      INFO:ODSC:Writing to /home/datascience/.onnx110_p39_cpu_v1.tar.gz
      Downloading pack onnx110_p39_cpu_v1: 100% ...INFO:ODSC:download complete
      INFO:ODSC:Extracting conda pack /home/datascience/.onnx110_p39_cpu_v1.tar.gz...
      INFO:ODSC:Downloading Notebooks for the pack: ONNX 1.10 for CPU on Python 3.9
      INFO:ODSC:Checking for notebooks with prefix notebooks/onnx110_p39_cpu_v1/
      Saving Notebooks:   0%|                                                                                       | 0/1 [00:00<?, ?it/s]INFO:ODSC:Notebook location /home/datascience/conda/notebooks/onnx110_p39_cpu_v1/getting-started.ipynb...
      Saving Notebooks: 100%| 1/1 [00:00<00:00,  8.28it/s]
      INFO:ODSC:Start to update the kernel name...
      INFO:ODSC:Conda environment setup complete.
      The environment setup is complete. 
      To activate it for use in the terminal run `conda activate /home/datascience/conda/onnx110_p39_cpu_v1`. 
      It may take a few seconds for the kernel to appear in the JupyterLab launcher. 
      To change the description of the environment, update /home/datascience/conda/onnx110_p39_cpu_v1/*_manifest.yaml. 
  6. ターミナルで、パッケージがインストールされていることを確認します:
    odsc conda list -l

    出力例:

    packages:
      local_ONNX_1.10_for_CPU_on_Python_3.9_1.0:
      - arch_type: CPU
        conda_name: onnx110_p39_cpu_v1
        description: 'This environment is designed to provided to test and execute your
          ONNX model artifacts. ONNX is an open source, open model format which allows
          you to save a model from different machine learning (ML) libraries into a single,
          portable format that is independent of the training library. ONNX models can
          be deployed through Oracle Cloud Infrastruture Data Science Model Deployment
          service. Use this conda environment to convert models from most ML libraries
          into ONNX format. Then use the ONNX runtime to perform inferencing. Review the
          processing steps that your model makes by having ONNX generate a graph of the
          model workflow.
    
          To get started with the ONNX environment, review the getting-started notebook.
    
          '
        libraries:
        - onnx (v1.10.2)
        - onnxconverter-common (v1.9.0)
        - onnxmltools (v1.10.0)
        - onnxruntime (v1.10.0)
        - oracle-ads (v2.6.1)
        logo: onnx
        manifest_version: '1.0'
        name: ONNX 1.10 for CPU on Python 3.9
        notebooks:
        - notebooks/onnx110_p39_cpu_v1/
        pack_path: oci://bucket-2@<tenancy-namespace>/conda_environments/cpu/ONNX 1.10 for CPU on
          Python 3.9/1.0/onnx110_p39_cpu_v1
        python: '3.9'
        slug: onnx110_p39_cpu_v1
        type: local
        version: '1.0'
  7. 環境エクスプローラで、「リフレッシュ」をクリックします。
  8. 「インストールされたConda環境」リンクをクリックします。
  9. 「Conda環境」のリストで、Python 3.9上のCPU用のONNX 1.10がリストされていることを確認します。
ノートブック・セッションのbucket-2で公開されたコピーからconda環境が正常にインストールされました。

次の手順

あるリージョンから別のリージョンにconda環境が正常にコピーされ、2つ目のリージョンのノートブック・セッションで使用されました。

conda環境についてさらに学習するには、ノートブック・セッションで次のようにします:

  • ランチャの「Extenstions」で、「Notebook Explorer」アイコンをクリックします。ONNX Integration with the Accelerated Data Science (ADS) SDKを選択し、「開く」をクリックして、例を確認します。
  • 環境エクスプローラに移動し、このチュートリアルでは説明していないその他の事前構築済データ・サイエンスconda環境をインストールします。