Utilisation de sessions de bloc-notes pour construire et entraîner des modèles

Une fois que vous avez créé une session de bloc-notes, vous pouvez écrire et exécuter du code Python à l'aide des bibliothèques d'apprentissage automatique de l'interface JupyterLab pour créer et entraîner des modèles.

Authentification auprès des API OCI à partir d'une session de bloc-notes

Lorsque vous travaillez dans une session de bloc-notes, vous travaillez en tant qu'utilisateur Linux datascience. Cet utilisateur ne possède pas d'identité OCI Identity and Access Management (IAM) et n'a donc pas accès à l'API OCI. Les ressources OCI incluent les projets et modèles Data Science, ainsi que les ressources d'autres services OCI, tels qu'Object Storage, Functions, Vault, Data Flow, etc. Pour accéder à ces ressources à partir de l'environnement de bloc-notes, utilisez l'une des deux approches d'authentification :

(Recommandé) Authentification à l'aide du principal de ressource d'une session de bloc-notes

Un principal de ressource est une fonctionnalité d'IAM qui permet aux ressources d'être des acteurs principaux autorisés pouvant effectuer des actions sur des ressources de service. Chaque ressource possède sa propre identité et est authentifiée à l'aide des certificats qui lui sont ajoutés. Ces certificats sont créés, affectés aux ressources et font l'objet d'une rotation automatiquement, ce qui vous évite de devoir stocker des informations d'identification dans une session de bloc-notes.

Le service Data Science vous permet de vous authentifier à l'aide du principal de ressource d'une session de bloc-notes pour accéder à d'autres ressources OCI. Les principaux de ressource offrent un moyen plus sécurisé de s'authentifier auprès des ressources par rapport à l'approche avec fichier de configuration et clé d'API.

Un administrateur de location doit écrire des stratégies afin d'accorder des droits d'accès à d'autres ressources OCI à un principal de ressource. Reportez-vous à Utilisation d'Oracle Resource Manager pour configurer votre location pour Data Science.

Vous pouvez vous authentifier avec des principaux de ressource dans une session de bloc-notes à l'aide des interfaces suivantes :

Kit SDK Oracle Accelerated Data Science :

Exécutez la commande suivante dans une cellule de bloc-notes :

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

Pour plus de détails, reportez-vous à la documentation relative à Accelerated Data Science.

Kit SDK Python OCI :

Exécutez la commande suivante dans une cellule de bloc-notes.

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

Utilisez l'indicateur `--auth=resource_principal` avec les commandes.

Remarque

Le jeton du principal de ressource est mis en cache pendant 15 minutes. Si vous modifiez la stratégie ou le groupe dynamique, vous devez attendre 15 minutes avant de voir les modifications prendre effet.
Important

Si vous n'utilisez pas explicitement les principaux de ressource lors de l'appel d'un kit SDK ou d'une interface de ligne de commande, l'approche avec fichier de configuration et clé d'API est utilisée.

(Par défaut) Authentification à l'aide du fichier de configuration OCI et des clés d'API

Vous pouvez utiliser votre propre utilisateur IAM en configurant un fichier de configuration OCI et des clés d'API pour accéder aux ressources OCI. Il s'agit de l'approche d'authentification par défaut

Pour vous authentifier à l'aide de l'approche basée sur le fichier de configuration et les clés d'API, vous devez télécharger un fichier de configuration OCI vers le répertoire /home/datascience/.oci/ de la session de bloc-notes. Pour le profil approprié défini dans le fichier de configuration OCI, vous devez également télécharger vers le serveur ou créer les fichiers .pem requis.

Configurez le fichier de configuration OCI et la clé d'API à l'aide des clés et OCID requis.

Utilisation de fichiers de code existants

Vous pouvez créer des fichiers ou utiliser vos fichiers existants.

Téléchargement des fichiers vers le serveur

Vous pouvez télécharger des fichiers à partir de l'ordinateur local en sélectionnant Télécharger vers le serveur dans l'interface JupyterLab ou en faisant glisser des fichiers.

Utilisation de commandes de terminal supplémentaires

Installation de bibliothèques Python supplémentaires

Vous pouvez installer une bibliothèque qui n'est pas préinstallée dans l'image de session de bloc-notes. Vous pouvez installer et modifier un environnement conda prédéfini ou créer un environnement conda de A à Z.

Pour plus d'informations, reportez-vous à la section Installing Extra Libraries de la documentation ADS.

Utilisation des variables d'environnement fournies dans les sessions de bloc-notes

Lorsque vous démarrez une session de bloc-notes, le service crée des variables d'environnement que vous pouvez utiliser dans votre code :

Nom de clé de variable

Description

Spécifié par

TENANCY_OCID

OCID de la location à laquelle appartient le bloc-notes.

Alimenté automatiquement par Data Science.

PROJECT_OCID

OCID du projet associé à la session de bloc-notes en cours

Alimenté automatiquement par Data Science.

PROJECT_COMPARTMENT_OCID

OCID du compartiment du projet auquel le bloc-notes est associé.

Alimenté automatiquement par Data Science.

USER_OCID

OCID utilisateur.

Alimenté automatiquement par Data Science.

NB_SESSION_OCID

OCID de la session de bloc-notes en cours

Alimenté automatiquement par Data Science.

NB_SESSION_COMPARTMENT_OCID

OCID de compartiment de la session de bloc-notes en cours

Alimenté automatiquement par Data Science.

OCI_RESOURCE_PRINCIPAL_RPT_PATH

Chemin du jeton de principal de ressource OCI.

Alimenté automatiquement par Data Science.

OCI_RESOURCE_PRINCIPAL_RPT_ID

ID du jeton de principal de ressource OCI.

Alimenté automatiquement par Data Science.

NB_ONCREATE_SCRIPT_URL

URL de script de cycle de vie de session de bloc-notes à exécuter lors de la création.

Indiqué par l'utilisateur.

NB_ONACTIVATE_SCRIPT_URL

URL de script de cycle de vie de session de bloc-notes à exécuter lors de l'activation.

Indiqué par l'utilisateur.

NB_ONDEACTIVATE_SCRIPT_URL

URL du script de cycle de vie de session de bloc-notes à exécuter lors de la désactivation.

Indiqué par l'utilisateur.

NB_ONDELETE_SCRIPT_URL

URL de script de cycle de vie de session de bloc-notes à exécuter lors de la suppression.

Indiqué par l'utilisateur.

NB_SCRIPT_OUTPUT_LOG_NAMESPACE

Espace de noms Object Storage pour les journaux de sortie de script de cycle de vie de bloc-notes.

Indiqué par l'utilisateur.

NB_SCRIPT_OUTPUT_LOG_BUCKET

Bucket Object Storage pour les journaux de sortie de script de cycle de vie de bloc-notes.

Indiqué par l'utilisateur.

SECURE_DATA_SESSION

Désactivez le téléchargement de fichiers à partir du client JupyterLab et de l'API de téléchargement JupyterLab. Définissez la valeur sur Vrai pour désactiver la fonctionnalité de téléchargement.

Indiqué par l'utilisateur.

SHM_SIZE Espace mémoire partagé, entrez la taille de la mémoire suivie des unités : g pour le Go, m pour le Mo et b pour les octets. Par exemple, entrez 128g pour 128 Go d'espace de mémoire partagée. Indiqué par l'utilisateur.

Pour accéder à ces variables d'environnement dans votre session de bloc-notes, utilisez la bibliothèque Python os. Par exemple :

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

Les valeurs NB_SESSION_COMPARTMENT_OCID et PROJECT_COMPARTMENT_OCID ne sont pas mises à jour dans une session de bloc-notes en cours d'exécution si les ressources ont changé de compartiment après la création de la session.

Utilisation de variables d'environnement personnalisées

Utilisez vos propres variables d'environnement personnalisées dans les sessions de bloc-notes.

Après avoir défini vos variables d'environnement personnalisées, accédez-y dans une session de bloc-notes avec la bibliothèque Python os. Par exemple, si vous définissez une paire clé-valeur avec la clé MY_CUSTOM_VAR1 et la valeur VALUE-1, lorsque vous exécutez le code suivant, vous obtenez VALUE-1.

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

Le système ne vous permet pas d'écraser les variables d'environnement fournies par le système avec des variables personnalisées. Par exemple, vous ne pouvez pas nommer une variable personnalisée, USER_OCID.

Utilisation du kit SDK Oracle Accelerated Data Science

Le SDK Oracle Accelerated Data Science (ADS) accélère les activités courantes de data science en fournissant des outils qui automatisent et simplifient les tâches courantes de data science. Elle fournit aux analystes de données une interface Python conviviale vers les services OCI, y compris Data Science, notamment les travaux, Big Data, Data Flow, Object Storage, Streaming et Vault, ainsi qu'à Oracle Database. ADS vous fournit une interface pour gérer le cycle de vie des modèles de machine learning, de l'acquisition des données à l'évaluation, l'interprétation et le déploiement des modèles.

Avec ADS, vous pouvez :

  • Lisez des ensembles de données à partir d'Object Storage, d'Oracle Database (ATP, ADW et On-premises), d'AWS S3 et d'autres sources dans des cadres de données Pandas.
  • Réglez les modèles à l'aide de l'optimisation des hyperparamètres avec le module ADSTuner.
  • Générez des rapports d'évaluation détaillés des candidats modèles avec le module ADSEvaluator.
  • Enregistrez les modèles d'apprentissage automatique dans le catalogue de modèles Data Science.
  • Déployez des modèles en tant que demandes HTTP avec le déploiement de modèle.
  • Démarrez des travaux ETL distribués, de traitement de données et d'entraînement de modèle dans Spark à l'aide de Data Flow.
  • Connectez-vous au BDS à partir de la session de bloc-notes. Kerberos doit être activé pour le cluster créé.

    Utilisez des clusters compatibles Kerberos pour vous connecter au Big Data à partir d'une session de bloc-notes.

  • Utilisez les types de fonction pour caractériser les données, créer des statistiques récapitulatives de signification et tracer. Utilisez le système d'avertissement et de validation pour tester la qualité des données.
  • Entraînez des modèles de machine learning à l'aide de travaux Data Science.
  • Gérez le cycle de vie des environnements conda à l'aide de l'interface de ligne de commande ads conda.