ノートブック・セッションを使用したモデルの作成およびトレーニング

ノートブック・セッションを作成した後、JupyterLabインタフェースの機械学習ライブラリを使用してPythonコードを記述および実行し、モデルを構築およびトレーニングできます。

ノートブック・セッションからのOCI APIへの認証

ノートブック・セッション内で作業している場合は、Linuxユーザーdatascienceとして操作しています。このユーザーにはOCI Identity and Access Management (IAM)アイデンティティがないため、OCI APIにアクセスできません。OCIリソースには、データ・サイエンス・プロジェクトおよびモデル、および他のOCIサービス(オブジェクト・ストレージ、ファンクション、Vault、データ・フローなど)のリソースが含まれます。ノートブック環境からこれらのリソースにアクセスするには、次の2つの認証アプローチのいずれかを使用します:

(推奨)ノートブック・セッションのリソース・プリンシパルを使用した認証

リソース・プリンシパルはIAMの機能で、リソースを、サービス・リソースに対してアクションを実行できます。各リソースは、自身のアイデンティティを持ち、追加された証明書を使用して認証を行います。これらの証明書は自動的に作成され、リソースに割り当てられ、ローテーションされるため、ノートブック・セッションに資格証明を格納する必要はありません。

データ・サイエンス・サービスでは、ノートブック・セッションのリソース・プリンシパルを使用して認証を行い、他のOCIリソースにアクセスできます。リソース・プリンシパルは、OCI構成およびAPIキーのアプローチと比較して、より安全なリソースに対する認証方法を提供します

テナンシ管理者は、リソース・プリンシパルに他のOCIリソースへのアクセス権限を付与するポリシーを記述する必要があります。データ・サイエンス用テナンシの構成を参照してください。

次のインタフェースを使用して、ノートブック・セッションのリソース・プリンシパルで認証できます:

Oracle Accelerated Data Science SDK:

ノートブック・セルで次を実行します:

import ads
ads.set_auth(auth='resource_principal')

詳細は、Accelerated Data Scienceのドキュメントを参照してください。

OCI Python SDK:

ノートブック・セルで次を実行します。

import oci
from oci.data_science import DataScienceClient
rps = oci.auth.signers.get_resource_principals_signer()
dsc = DataScienceClient(config={}, signer=rps)
OCI CLI:

コマンドで`--auth=resource_principal`フラグを使用します。

ノート

リソース・プリンシパル・トークンは15分間キャッシュされます。ポリシーまたは動的グループを変更した場合、変更の影響を確認するには、15分待機する必要があります。
重要

SDKまたはCLIの起動時にリソース・プリンシパルを明示的に使用しない場合、構成ファイルとAPIキーのアプローチが使用されます

(デフォルト)OCI構成ファイルおよびAPIキーを使用した認証

OCIリソースにアクセスするには、OCI構成ファイルおよびAPIキーを設定することで、独自のIAMユーザーとして操作できます。これはデフォルトの認証アプローチです

構成ファイルおよびAPIキー・アプローチを使用して認証するには、OCI構成ファイルをノートブック・セッションの/home/datascience/.oci/ディレクトリにアップロードする必要があります。OCI構成ファイルで定義された関連プロファイルについては、必要な.pemファイルをアップロードまたは作成する必要もあります。

OCI構成ファイルおよびAPIキーは、必要なキーおよびOCIDsを使用して設定します。

既存のコード・ファイルの作業

新規ファイルを作成することも、独自の既存のファイルを操作することもできます。

ファイルのアップロード

ローカル・マシンからファイルをアップロードするには、JupyterLabインタフェースで「アップロード」をクリックするか、ファイルをドラッグ・アンド・ドロップします。

追加のターミナル・コマンドの使用

追加のPythonライブラリのインストール

ノートブック・セッション・イメージにプリインストールされていないライブラリをインストールできます。事前構築済のconda環境をインストールおよび変更するか、conda環境を最初から作成できます。

詳細は、ADSドキュメントの Installing Extra Librariesのセクションを参照してください。

ノートブック・セッションでの指定した環境変数の使用

ノートブック・セッションを開始すると、サービスによって、コードで使用できる有用な環境変数が作成されます:

変数キー名

説明

指定条件

TENANCY_OCID

ノートブックが属するテナンシのOCID。

データ・サイエンスによって自動的に移入されます。

PROJECT_OCID

現在のノートブック・セッションに関連付けられたプロジェクトのOCID。

データ・サイエンスによって自動的に移入されます。

PROJECT_COMPARTMENT_OCID

ノートブックが関連付けられているプロジェクトのコンパートメントのOCID。

データ・サイエンスによって自動的に移入されます。

USER_OCID

ユーザーOCID。

データ・サイエンスによって自動的に移入されます。

NB_SESSION_OCID

現在のノートブック・セッションのOCID。

データ・サイエンスによって自動的に移入されます。

NB_SESSION_COMPARTMENT_OCID

現在のノートブック・セッションのコンパートメントOCID。

データ・サイエンスによって自動的に移入されます。

OCI_RESOURCE_PRINCIPAL_RPT_PATH

OCIリソース・プリンシパル・トークンへのパス。

データ・サイエンスによって自動的に移入されます。

OCI_RESOURCE_PRINCIPAL_RPT_ID

OCIリソース・プリンシパル・トークンのID。

データ・サイエンスによって自動的に移入されます。

NB_ONCREATE_SCRIPT_URL

作成時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONACTIVATE_SCRIPT_URL

アクティブ化時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONDEACTIVATE_SCRIPT_URL

非アクティブ化時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_ONDELETE_SCRIPT_URL

削除時に実行するノートブック・セッションのライフサイクル・スクリプトURL。

ユーザー指定

NB_SCRIPT_OUTPUT_LOG_NAMESPACE

ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・ネームスペース。

ユーザー指定

NB_SCRIPT_OUTPUT_LOG_BUCKET

ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・バケットです。

ユーザー指定

ノートブック・セッションでこれらの環境変数にアクセスするには、Python osライブラリを使用します。例:

import os 
project_ocid = os.environ['PROJECT_OCID']
print(project_ocid)
ノート

ノートブック・セッションの作成後にリソースがコンパートメントを移動した場合、NB_SESSION_COMPARTMENT_OCIDおよびPROJECT_COMPARTMENT_OCIDの値は実行中のノートブック・セッションで更新されません

カスタム環境変数の使用

ノートブック・セッションで独自のカスタム環境変数を使用します。

カスタム環境変数を定義したら、Python osライブラリを使用して、ノートブック・セッションでこれらの環境変数にアクセスします。たとえば、キーと値のペアをキーMY_CUSTOM_VAR1および値VALUE-1で定義した場合、次のコードを実行するとVALUE-1が表示されます。

import os 
my_custom_var1 = os.environ['MY_CUSTOM_VAR1']
print(my_custom_var1)
ノート

システム提供の環境変数をカスタム変数で上書きすることはできません。たとえば、カスタム変数の名前をUSER_OCIDにすることはできません。

Oracle Accelerated Data Science SDKの使用

Oracle Accelerated Data Science(ADS)SDKは、一般的なデータ・サイエンス・タスクを自動化および簡素化するツールを提供することで、一般的なデータ・サイエンス・アクティビティを高速化します。データ・サイエンティストは、OCIサービス(ジョブビッグ・データデータ・フローオブジェクト・ストレージストリーミングVaultOracle Databaseなど)とわかりやすいPythonインタフェースを提供します。ADSは、データ取得からモデルの評価、解釈、モデル展開まで、機械学習モデルのライフサイクルを管理するインタフェースを提供します。

ADSを使用すると、次のことができます。

  • Object Storage、Oracle Database(ATP、ADW、オンプレミス)、AWS S3、およびその他のソースからPandasデータ・フレームにデータセットを読み取ります。
  • ADSTunerモジュールでハイパーパラメータ最適化を使用してモデルをチューニングします。
  • ADSEvaluatorモジュールを使用して、モデル候補の詳細な評価レポートを生成します。
  • 機械学習モデルをデータ・サイエンス・モデル・カタログに保存します。
  • モデル・デプロイメントを使用して、モデルをHTTPリクエストとしてデプロイします。
  • データ・フローを使用して、Sparkで分散ETL、データ処理およびモデル・トレーニング・ジョブを開始します。
  • ノートブック・セッションからBDSに接続し、作成されるクラスタでKerberosが有効になっている必要があります。

    Kerberos対応クラスタを使用して、ノートブック・セッションからビッグ・データに接続します。

  • 機能タイプを使用して、データの特徴付け、意味のあるサマリー統計の作成、およびプロットを行います。警告および検証システムを使用して、データの品質をテストします。
  • データ・サイエンスのジョブを使用して機械学習モデルをトレーニングします。
  • ads conda CLIを使用して、conda環境のライフサイクルを管理します。