Tous les produits
Search
Centre de documentation

Platform For AI:Notebook

Dernière mise à jour :Aug 09, 2026

Le composant Notebook de Machine Learning Designer vous permet d'écrire, de déboguer et d'exécuter du code directement au sein d'un pipeline, sans interrompre son contexte ni son état. Il s'intègre aux instances Data Science Workshop (DSW) pour un développement interactif et convertit les fichiers Notebook en jobs Deep Learning Containers (DLC) pour les exécutions en production.

Fonctionnement

Le composant Notebook prend en charge deux modes :

Mode Cas d'utilisation Ressource facturée
Développement Écrire et déboguer du code de manière interactive dans une instance DSW associée au pipeline Durée d'exécution de l'instance DSW
Exécution Exécuter le Notebook dans le cadre d'une exécution de pipeline ou d'un job planifié Durée d'exécution du job DLC

En mode Development, démarrez une instance DSW depuis le nœud Notebook. L'instance charge automatiquement les données de sortie et l'état des composants en amont. Vous pouvez ainsi inspecter les résultats intermédiaires, développer la logique métier et transmettre les résultats aux étapes suivantes, le tout sans quitter le canevas du pipeline.

En mode Running, le déclenchement du pipeline (manuellement ou via une planification DataWorks) lance un job DLC qui exécute le fichier Notebook converti par Jupyter nbconvert.

Important

Si vous utilisez un groupe de ressources avec paiement à l'utilisation, des frais sont appliqués en fonction de la durée d'exécution. Consultez les rubriques Facturation de DSW et Facturation de DLC.

Description du composant

Le composant Notebook dispose de quatre ports d'entrée et de quatre ports de sortie :

Port Direction Type de stockage Noms
Entrée Entrée OSS ou table MaxCompute input1, input2, input3, input4
Sortie (OSS) Sortie OSS output1, output2
Sortie (MaxCompute) Sortie Table MaxCompute output3, output4

Utilisez le package pai-notebook-utils pour accéder aux configurations des ports et aux paramètres personnalisés depuis le Notebook.

Installation de pai-notebook-utils

Exécutez la commande suivante dans votre Notebook ou dans la commande d'initialisation :

pip install --upgrade https://pai-sdk.oss-cn-shanghai.aliyuncs.com/pai_notebook_utils/dist/pai_notebook_utils-0.0.1-py2.py3-none-any.whl

Accès aux ports et aux paramètres

Les trois fonctions sont accessibles via la classe NotebookUtils :

from pai_notebook.utils.notebook_utils import NotebookUtils

node_inputs = NotebookUtils.get_inputs()      # list of input port configs
node_outputs = NotebookUtils.get_outputs()    # list of output port configs
custom_params = NotebookUtils.get_custom_params()  # dict of custom parameters

Ports d'entrée

La fonction get_inputs() renvoie une liste. Chaque élément contient :

Champ Description
name Nom du port : input1, input2, input3 ou input4
type Type de port, par exemple DataSet ou Model
location_type Type de stockage : MaxComputeTable ou OSS
value Configuration du port sous forme de map

Entrée de table MaxCompute — location_type est défini sur MaxComputeTable ; value contient project, table et endpoint :

from pai_notebook.utils.notebook_utils import NotebookUtils

node_inputs = NotebookUtils.get_inputs()

for node_input in node_inputs:
    if node_input.location_type == "MaxComputeTable":
        input_name = node_input.name
        table_name = node_input.value["table"]
        project = node_input.value["project"]
        endpoint = node_input.value["endpoint"]
        print(f"input_name: {input_name}, project: {project}, table_name: {table_name}, endpoint: {endpoint}")

Entrée OSS — location_type est défini sur OSS ; le chemin OSS est monté sur un chemin local. value contient key, bucket, endpoint et mountPath :

from pai_notebook.utils.notebook_utils import NotebookUtils

node_inputs = NotebookUtils.get_inputs()

for node_input in node_inputs:
    if node_input.location_type == "OSS":
        input_name = node_input.name
        key = node_input.value["key"]
        bucket = node_input.value["bucket"]
        endpoint = node_input.value["endpoint"]
        mount_path = node_input.value["mountPath"]
        print(f"input_name: {input_name}, bucket: {bucket}, key: {key}, endpoint: {endpoint}, mount path: {mount_path}")
Important

Si le chemin OSS change après le démarrage de l'instance DSW, mountPath devient indisponible. Redémarrez l'instance DSW pour monter le nouveau chemin.

Ports de sortie

La fonction get_outputs() renvoie une liste. Chaque élément contient :

Champ Description
name Nom du port : output1, output2, output3 ou output4
location_type Type de stockage : MaxComputeTable ou OSS
value Configuration du port sous forme de map (même structure de champs que les ports d'entrée)
  • Sorties OSS (output1, output2) : les données sont écrites dans le chemin OSS configuré. Si le champ Job Output Path n'est pas défini, le chemin est généré automatiquement à partir du chemin global par défaut. Le répertoire OSS est monté sur /ml/output/ dans le conteneur du job : output1 correspond à /ml/output/output1/ et output2 à /ml/output/output2/. Le résultat de l'exécution du Notebook (HTML) est enregistré dans /ml/output/result/.

  • Sorties MaxCompute (output3, output4) : l'espace de travail doit être associé à un moteur de calcul MaxCompute.

from pai_notebook.utils.notebook_utils import NotebookUtils

node_outputs = NotebookUtils.get_outputs()

for node_output in node_outputs:
    output_name = node_output.name
    if node_output.location_type == "MaxComputeTable":
        table_name = node_output.value["table"]
        project = node_output.value["project"]
        endpoint = node_output.value["endpoint"]
        print(f"output_name: {output_name}, project: {project}, table_name: {table_name}, endpoint: {endpoint}")
    elif node_output.location_type == "OSS":
        key = node_output.value["key"]
        bucket = node_output.value["bucket"]
        endpoint = node_output.value["endpoint"]
        mount_path = node_output.value["mountPath"]
        print(f"output_name: {output_name}, bucket: {bucket}, key: {key}, endpoint: {endpoint}, mount path: {mount_path}")
    else:
        print(json.dumps(node_output.value, indent=4))

Paramètres personnalisés

Configurez les paramètres personnalisés sous forme de paires clé-valeur dans le nœud Notebook. Faites référence aux variables globales en utilisant le format ${globalParamName}. Par exemple, définissez une clé de paramètre sur modelVersion et sa valeur sur ${globalModelVersion}. À l'exécution, get_custom_params() renvoie la valeur résolue :

from pai_notebook.utils.notebook_utils import NotebookUtils

custom_params = NotebookUtils.get_custom_params()
print(custom_params)
# Example output: {'modelVersion': '2.1.0', 'batchSize': '32'}

Les paramètres personnalisés sont présentés sous forme de paires clé-valeur et peuvent être partagés entre un pipeline et une instance DSW, ce qui facilite leur modification.

Configuration du Notebook

Ajoutez le composant Notebook à un pipeline dans Machine Learning Designer, puis configurez les paramètres suivants dans le volet de droite.

Important

Avant de démarrer une instance DSW, configurez le Chemin de données du pipeline lors de la création du pipeline. Le chemin du fichier Notebook est généré à partir de ce paramètre.

Catégorie Paramètre Obligatoire Description Valeur par défaut
Configuration du Notebook Instance DSW Non État et contrôle de démarrage de l'instance DSW associée à ce nœud Non en cours d'exécution
Fichier Notebook Oui Chemin vers le fichier Notebook, au format <chemin de données du pipeline>/notebook/${ID du pipeline}/${ID du nœud}/main.ipynb. Trouvez l'ID du pipeline dans l'onglet Attributs du pipeline ; l'ID du nœud est généré par le système. <chemin de données du pipeline>/notebook/${ID du pipeline}/${ID du nœud}/main.ipynb
Chemin de sortie du job Non Répertoire OSS monté sur /ml/output/ dans le conteneur du job. Les ports de sortie écrivent dans des sous-répertoires (output1/, output2/) ; les résultats d'exécution sont enregistrés au format HTML dans result/. Chemin de données du pipeline
Paramètres personnalisés Non Paires clé-valeur partagées par le pipeline et l'instance DSW. Faites référence aux variables globales en utilisant ${globalParamName}. Aucun
Commande d'initialisation Non Commande Shell à exécuter avant l'exécution du Notebook, telle que pip install pandas. Aucun
Heure d'arrêt automatique Non L'instance DSW s'arrête automatiquement après cette durée afin d'éviter des frais excessifs. 1 heure
Configuration d'exécution Sélectionner un groupe de ressources Groupe de ressources public Non Configurez le type de nœud (CPU/GPU), les paramètres VPC, le groupe de sécurité, le vSwitch, la passerelle d'accès Internet et l'image du nœud. Type ECS par défaut : ecs.c6.large. —
Groupe de ressources dédié Non Configurez les vCPU, la mémoire, la mémoire partagée, les GPU et le nombre d'instances. Aucun
Image du nœud Non Image officielle, image personnalisée ou adresse d'image publique. Officielle

Étapes suivantes