Modelle mit Notizbuchsessions erstellen und trainieren

Nachdem Sie eine Notebook-Session erstellt haben, können Sie mit den Librarys für maschinelles Lernen in der JupyterLab-Schnittstelle Python-Code schreiben und ausführen, um Modelle zu erstellen und zu trainieren.

Authentifizierung bei den OCI-APIs über eine Notizbuchsession

Wenn Sie in einer Notizbuchsession arbeiten, arbeiten Sie als Linux-Benutzer datascience. Dieser Benutzer hat keine OCI Identity and Access Management-(IAM-)Identität, sodass er keinen Zugriff auf die OCI-API hat. OCI-Ressourcen umfassen Data Science-Projekte und -Modelle sowie die Ressourcen anderer OCI-Services, wie Object Storage, Functions, Vault, Data Flow usw. Um über die Notizbuchumgebung auf diese Ressourcen zuzugreifen, verwenden Sie einen der beiden Authentifizierungsansätze:

(Empfohlen) Authentifizierung mit dem Resource Principal einer Notizbuchsession

Ein Resource Principal ist ein Feature von IAM, mit dem Ressourcen autorisierte principal-Akteure sein können, die Aktionen für Serviceressourcen ausführen können. Jede Ressource hat eine eigene Identität und authentifiziert sich mit den ihr hinzugefügten Zertifikaten. Diese Zertifikate werden automatisch erstellt, den Ressourcen zugewiesen und rotiert, sodass Sie keine Zugangsdaten in einer Notebook-Session speichern müssen.

Mit dem Data Science-Service können Sie sich mit dem Resource Principal einer Notebook-Session authentifizieren, um auf andere OCI-Ressourcen zuzugreifen. Resource Principals bieten mehr Sicherheit für die Authentifizierung bei Ressourcen als der Ansatz mit OCI-Konfiguration und API-Schlüssel.

Ein Mandantenadministrator muss Policys schreiben, um Berechtigungen für den Zugriff eines Resource Principals auf andere OCI-Ressourcen zu erteilen. Informationen hierzu finden Sie unter Mandanten für Data Science mit Oracle Resource Manager konfigurieren.

Sie können sich mit Resource Principals in einer Notizbuchsession über die folgenden Schnittstellen authentifizieren:

Oracle Accelerated Data Science-SDK:

Führen Sie in einer Notizbuchzelle Folgendes aus:

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

Weitere Informationen finden Sie in der Dokumentation zu Accelerated Data Science.

OCI-Python-SDK:

Führen Sie in einer Notizbuchzelle Folgendes aus.

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

Verwenden Sie das Kennzeichen `--auth=resource_principal` mit Befehlen.

Hinweis

Das Resource-Principal-Token wird 15 Minuten lang gecacht. Wenn Sie die Policy oder die dynamische Gruppe ändern, müssen Sie 15 Minuten warten, um das Ergebnis der Änderungen zu sehen.
Wichtig

Wenn Sie die Resource Principals beim Aufruf eines SDK oder einer CLI nicht explizit verwenden, wird der Ansatz mit Konfigurationsdatei und API-Schlüssel verwendet.

(Standard) Authentifizierung mit OCI-Konfigurationsdatei und API-Schlüsseln

Sie können als eigener IAM-Benutzer arbeiten, indem Sie eine OCI-Konfigurationsdatei und API-Schlüssel für den Zugriff auf OCI-Ressourcen einrichten. Dies ist der Standardansatz für die Authentifizierung

Zur Authentifizierung mit Konfigurationsdatei und API-Schlüsseln müssen Sie eine OCI-Konfigurationsdatei in das Verzeichnis /home/datascience/.OCI/ der Notizbuchsession hochladen. Für das in der OCI-Konfigurationsdatei definierte relevante Profil müssen Sie außerdem die erforderlichen .pem-Dateien hochladen oder erstellen.

Richten Sie die OCI-Konfigurationsdatei und den API-Schlüssel mit Erforderlichen Schlüsseln und OCIDs ein.

Mit vorhandenen Codedateien arbeiten

Sie können neue Dateien erstellen oder mit Ihren eigenen vorhandenen Dateien arbeiten.

Dateien hochladen

Sie können Dateien vom lokalen Computer hochladen, indem Sie auf der Benutzeroberfläche von JupyterLab die Option Hochladen auswählen oder Dateien per Drag-and-Drop verschieben.

Zusätzliche Terminalbefehle verwenden

Bereitgestellte Umgebungsvariablen in Notizbuchsessions verwenden

Wenn Sie eine Notizbuchsession starten, erstellt der Service nützliche Umgebungsvariablen, die Sie in Ihrem Code verwenden können:

Variablenname

Beschreibung

Angegeben von

TENANCY_OCID

OCID des Mandanten, zu dem das Notizbuch gehört

Wird automatisch von Data Science aufgefüllt.

PROJECT_OCID

Die OCID des Projekts, das mit der aktuellen Notizbuchsession verknüpft ist.

Wird automatisch von Data Science aufgefüllt.

PROJECT_COMPARTMENT_OCID

OCID des Compartments des Projekts, mit dem das Notizbuch verknüpft ist

Wird automatisch von Data Science aufgefüllt.

USER_OCID

Benutzer-OCID.

Wird automatisch von Data Science aufgefüllt.

NB_SESSION_OCID

Die OCID der aktuellen Notizbuchsession.

Wird automatisch von Data Science aufgefüllt.

NB_SESSION_COMPARTMENT_OCID

Die Compartment-OCID der aktuellen Notizbuchsession.

Wird automatisch von Data Science aufgefüllt.

OCI_RESOURCE_PRINCIPAL_RPT_PATH

Pfad zum OCI-Resource-Principal-Token

Wird automatisch von Data Science aufgefüllt.

OCI_RESOURCE_PRINCIPAL_RPT_ID

ID des OCI-Resource-Principal-Tokens

Wird automatisch von Data Science aufgefüllt.

NB_ONCREATE_SCRIPT_URL

URL des Lebenszyklusskripts für Notizbuchsessions, die beim Erstellen ausgeführt werden soll.

Vom Benutzer angegeben.

NB_ONACTIVATE_SCRIPT_URL

URL des Lebenszyklusskripts für Notizbuchsessions, die beim Aktivieren ausgeführt werden soll.

Vom Benutzer angegeben.

NB_ONDEACTIVATE_SCRIPT_URL

URL des Lebenszyklusskripts für Notizbuchsessions, die beim Deaktivieren ausgeführt werden soll.

Vom Benutzer angegeben.

NB_ONDELETE_SCRIPT_URL

URL des Lebenszyklusskripts für Notizbuchsessions, die beim Löschen ausgeführt werden soll.

Vom Benutzer angegeben.

NB_SCRIPT_OUTPUT_LOG_NAMESPACE

Object Storage-Namespace für Ausgabelogs von Notizbuchlebenszyklusskripten.

Vom Benutzer angegeben.

NB_SCRIPT_OUTPUT_LOG_BUCKET

Objektspeicher-Bucket für Ausgabelogs von Notizbuchlebenszyklusskripten.

Vom Benutzer angegeben.

SECURE_DATA_SESSION

Deaktivieren Sie den Dateidownload vom JupyterLab-Client und der JupyterLab-Download-API, und setzen Sie den Wert auf "True", um die Downloadfunktion zu deaktivieren.

Vom Benutzer angegeben.

SHM_SIZE Geben Sie die Speichergröße gefolgt von den Einheiten ein: g für GB, m für MB und b für Byte. Beispiel: Geben Sie 128g für 128 GB Shared Memory ein. Vom Benutzer angegeben.

Um auf diese Umgebungsvariablen in der Notizbuchsession zuzugreifen, verwenden Sie die Python-Library os. Beispiel:

import os 
project_ocid = os.environ['PROJECT_OCID']
print(project_ocid)
Hinweis

Die Werte NB_SESSION_COMPARTMENT_OCID und PROJECT_COMPARTMENT_OCID werden in einer aktiven Notebook-Session nicht aktualisiert, wenn die Ressourcen nach dem Erstellen der Notebook-Session in ein anderes Compartment verschoben wurden.

Benutzerdefinierte Umgebungsvariablen verwenden

Verwenden Sie eigene benutzerdefinierte Umgebungsvariablen in Notizbuchsessions.

Greifen Sie nach dem Definieren der benutzerdefinierten Umgebungsvariablen mit der Python-os-Library auf diese Umgebungsvariablen in einer Notizbuchsession zu. Beispiel: Wenn Sie ein Schlüssel/Wert-Paar mit dem Schlüssel MY_CUSTOM_VAR1 und dem Wert VALUE-1 definieren, erhalten Sie beim Ausführen des folgenden Codes VALUE-1.

import os 
my_custom_var1 = os.environ['MY_CUSTOM_VAR1']
print(my_custom_var1)
Hinweis

Im System können Sie die vom System bereitgestellten Umgebungsvariablen nicht mit benutzerdefinierten überschreiben. Beispiel: Sie können eine benutzerdefinierte Variable USER_OCID nicht benennen.

Oracle Accelerated Data Science-SDK verwenden

Das Oracle Accelerated Data Science-(ADS-)SDK beschleunigt gängige Data Science-Aktivitäten, indem Tools bereitgestellt werden, die gängige Data Science-Aufgaben automatisieren und vereinfachen. Sie stellt Data Scientists eine benutzerfreundliche Python-Schnittstelle zu OCI-Services bereit, einschließlich Data Science, einschließlich Jobs, Big Data, Data Flow, Object Storage, Streaming und Vault, und zu Oracle Database. ADS bietet Ihnen eine Schnittstelle zur Verwaltung des Lebenszyklus von Modellen für maschinelles Lernen, von der Datenerfassung bis zur Modellauswertung, -interpretation und -bereitstellung.

Mit ADS können Sie:

  • Lesen Sie Datasets aus Object Storage, Oracle Database (ATP, ADW und On Premise), AWS S3 und anderen Quellen in Pandas-Datenrahmen.
  • Optimieren Sie Modelle mit der Hyperparameteroptimierung mit dem Modul ADSTuner.
  • Generieren Sie detaillierte Bewertungsberichte zu Modellkandidaten mit dem Modul ADSEvaluator.
  • Speichern Sie Modelle für maschinelles Lernen im Data Science-Modellkatalog.
  • Stellen Sie Modelle als HTTP-Anforderungen mit dem Modell-Deployment bereit.
  • Starten Sie verteilte ETL-, Datenverarbeitungs- und Modelltrainingsjobs in Spark mit Data Flow.
  • Stellen Sie eine Verbindung von der Notizbuchsession zum BDS her. Für das erstellte Cluster muss Kerberos aktiviert sein.

    Mit Kerberos-fähigen Clustern können Sie über eine Notizbuchsession eine Verbindung zu Big Data herstellen.

  • Mit Funktionstypen können Sie Daten charakterisieren, zusammenfassende Bedeutungsstatistiken erstellen und Diagramme erstellen. Verwenden Sie das Warn- und Validierungssystem, um die Datenqualität zu testen.
  • Trainieren Sie Modelle für maschinelles Lernen mit Data Science-Jobs.
  • Verwalten Sie den Lebenszyklus von Conda-Umgebungen mit der CLI ads conda.