ノートブック・セッションを使用したモデルの作成およびトレーニング
ノートブック・セッションを作成したら、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キーを使用した認証
独自のIAMユーザーとして操作するには、OCIリソースにアクセスするためのOCI構成ファイルおよびAPIキーを設定します。これはデフォルトの認証アプローチです
構成ファイルとAPIキーのアプローチを使用して認証するには、OCI構成ファイルをノートブック・セッションの/home/datascience/.OCI/
ディレクトリにアップロードする必要があります。OCI構成ファイルで定義された関連プロファイルについては、必要な.pem
ファイルをアップロードまたは作成する必要があります。
必要なキーおよびOCIDsを使用して、OCI構成ファイルおよびAPIキーを設定します。
既存のコード・ファイルの作業
新規ファイルを作成することも、独自の既存のファイルを操作することもできます。
ローカル・マシンからファイルをアップロードするには、JupyterLabインタフェースで「アップロード」を選択するか、ファイルをドラッグ・アンド・ドロップします。
sftp
、scp
、curl
、wget
またはrsync
コマンドを実行して、VCNおよびサブネットの選択によって課されるネットワーキング制限の下で、ノートブック・セッション環境にファイルをプルすることができます。
追加のPythonライブラリのインストール
ノートブック・セッション・イメージに事前インストールされていないライブラリをインストールできます。事前に構築されたconda環境をインストールして変更したり、conda環境を作成したりできます。
詳細は、ADSドキュメントの追加ライブラリのインストールに関する項を参照してください。
ノートブック・セッションでの指定した環境変数の使用
ノートブック・セッションを開始すると、サービスによって、コードで使用できる有用な環境変数が作成されます:
変数キー名 |
説明 |
指定条件 |
---|---|---|
|
ノートブックが属するテナンシのOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
現在のノートブック・セッションに関連付けられたプロジェクトのOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
ノートブックが関連付けられているプロジェクトのコンパートメントのOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
ユーザーOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
現在のノートブック・セッションのOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
現在のノートブック・セッションのコンパートメントOCID。 |
データ・サイエンスによって自動的に移入されます。 |
|
OCIリソース・プリンシパル・トークンへのパス。 |
データ・サイエンスによって自動的に移入されます。 |
|
OCIリソース・プリンシパル・トークンのID。 |
データ・サイエンスによって自動的に移入されます。 |
|
作成時に実行するノートブック・セッション・ライフサイクル・スクリプトURL。 |
ユーザー指定 |
|
アクティブ化時に実行するノートブック・セッション・ライフサイクル・スクリプトURL。 |
ユーザー指定 |
|
非アクティブ化時に実行するノートブック・セッション・ライフサイクル・スクリプトURL。 |
ユーザー指定 |
|
削除時に実行するノートブック・セッション・ライフサイクル・スクリプトURL。 |
ユーザー指定 |
|
ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・ネームスペース。 |
ユーザー指定 |
|
ノートブック・ライフサイクル・スクリプト出力ログのオブジェクト・ストレージ・バケット。 |
ユーザー指定 |
|
JupyterLabクライアントからのファイル・ダウンロードおよびJupyterLabダウンロードAPIを無効にします。ダウンロード機能を無効にするにはTrueに設定します。 |
ユーザー指定 |
ノートブック・セッションでこれらの環境変数にアクセスするには、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)
Oracle Accelerated Data Science SDKの使用
Oracle Accelerated Data Science (ADS) SDKは、一般的なデータ・サイエンス・タスクを自動化および簡素化するツールを提供することで、一般的なデータ・サイエンス・アクティビティを高速化します。データ・サイエンティストは、ジョブ、ビッグ・データ、データ・フロー、オブジェクト・ストレージ、ストリーミング、Vault、Oracle Databaseなど、OCIサービスへの使いやすいPythonインタフェースを提供します。ADSは、データ取得からモデルの評価、解釈、モデルの導入まで、機械学習モデルのライフサイクルを管理するためのインタフェースを提供します。
ADSを使用すると、次のことができます。
- Object Storage、Oracle Database(ATP、ADW、オンプレミス)、AWS S3などのソースからPandasデータ・フレームにデータセットを読み取ります。
ADSTuner
モジュールでハイパーパラメータ最適化を使用してモデルをチューニングします。ADSEvaluator
モジュールを使用して、モデル候補の詳細な評価レポートを生成します。- 機械学習モデルをデータ・サイエンス・モデル・カタログに保存します。
- モデル・デプロイメントを使用して、モデルをHTTPリクエストとしてデプロイします。
- データ・フローを使用して、Sparkで分散ETL、データ処理およびモデル・トレーニング・ジョブを開始します。
-
ノートブック・セッションからBDSに接続するには、作成されたクラスタでKerberosが有効になっている必要があります。
Kerberos対応クラスタを使用して、ノートブック・セッションからビッグ・データに接続します。
- 機能タイプを使用して、データの特徴付け、意味のあるサマリー統計の作成、およびプロットを行います。警告および検証システムを使用して、データの品質をテストします。
- データ・サイエンス・ジョブを使用して機械学習モデルをトレーニングします。
ads conda
CLIを使用して、conda環境のライフ・サイクルを管理します。