0 / 0
Retourner à la version anglaise de la documentation
Connexion à l'agrégateur (partie)
Dernière mise à jour : 28 nov. 2024
Connexion à l'agrégateur (partie)

Chaque partie suit ces étapes pour se connecter à un agrégateur démarré.

  1. Ouvrez le projet et cliquez sur l'expérimentation d'apprentissage fédéré.

  2. Cliquez sur Afficher les informations de configuration et cliquez sur l'icône de téléchargement pour télécharger le script de connecteur de partie. Capture d'écran des informations de configuration de la vue

  3. Chaque partie doit configurer le script de connecteur de partie et fournir des données d'identification valides pour exécuter le script. Voici à quoi ressemble un exemple de script de connecteur de partie terminé:

    from ibm_watsonx_ai import APIClient
    
    wml_credentials = {
    "url": "https://us-south.ml.cloud.ibm.com",
    "apikey": "<API KEY>"
    }
    
    wml_client = APIClient(wml_credentials)
    
    wml_client.set.default_project("XXX-XXX-XXX-XXX-XXX")
    
    party_metadata = {
    
            wml_client.remote_training_systems.ConfigurationMetaNames.DATA_HANDLER: {
    
            "name": "MnistSklearnDataHandler",
    
            "path": "example.mnist_sklearn_data_handler",
    
            "info": {
    
            "npz_file":"./example_data/example_data.npz"
    
    }
    
    party = wml_client.remote_training_systems.create_party("XXX-XXX-XXX-XXX-XXX", party_metadata)
    
    party.monitor_logs()
    party.run(aggregator_id="XXX-XXX-XXX-XXX-XXX", asynchronous=False)
    

    Paramètres :

    • api_key:
      Votre clé d'API IAM. Pour créer une nouvelle clé API, rendez-vous sur le site Web d'IBM Cloud et cliquez sur Créer une clé API IBM Cloud Pak for Data sous Gérer > Accès (IAM) > Clés API.

    Facultatif: si vous réutilisez un script à partir d'un autre projet, vous pouvez copier les project_id, aggregator_id et experiment_id mis à jour à partir de la fenêtre des informations de configuration et les copier dans le script.

  4. Installez le Runtime watsonx.ai avec le dernier package Federated Learning si vous ne l'avez pas encore fait :

    • Si vous utilisez M-series sur un Mac, installez le dernier package avec le script suivant:
    #  -----------------------------------------------------------------------------------------
    #  (C) Copyright IBM Corp. 2023.
    #  https://opensource.org/licenses/BSD-3-Clause
    #  -----------------------------------------------------------------------------------------
    #
    #
    # Script to create a conda environment and install ibm_watsonx_ai with
    # the dependencies required for Federated Learning on MacOS.
    # The name of the conda environment to be created is passed as the first argument.
    #
    # Note: This script requires miniforge to be installed for conda.
    #
    
    usage=". install_fl_rt23.1_macos.sh conda_env_name"
    
    arch=$(uname -m)
    os=$(uname -s)
    
    if (($# < 1))
    then
    echo $usage
    exit
    fi
    
    ENAME=$1
    
    conda create -y -n ${ENAME} python=3.10
    conda activate ${ENAME}
    pip install ibm_watsonx_ai
    
    if [ "$os" == "Darwin" -a "$arch" == "arm64" ]
    then
    conda install -y -c apple tensorflow-deps
    fi
    
    python - <<EOF
    import pkg_resources
    import platform
    import subprocess
    
    package = 'ibm_watsonx_ai'
    extra   = 'fl-rt23.1-py3.10'
    extra_  = extra.replace('.','-')
    extra_s = '; extra == "{}"'
    remove  = None
    add     = []
    
    if platform.system() == "Darwin" and platform.processor() == "arm":
        remove  = 'tensorflow'
        add     = ['tensorflow-macos==2.9.2']
    
    pkgs = pkg_resources.working_set.by_key[package].requires(extras=[extra])
    pkgs = [ p.__str__().removesuffix(extra_s.format(extra)).removesuffix(extra_s.format(extra_)) for p in pkgs if ( extra in p.__str__() or extra_ in p.__str__() ) and ( not remove or remove not in p.__str__() )]
    
    print( "Installing standard packages for {}[{}]:{}".format(package,extra,pkgs) )
    print( "Installing additional packages:{}".format(add) )
    
    cmd = [ 'pip', 'install'] + add + pkgs
    
    subprocess.run( cmd )
    EOF
    
    • Sinon, effectuez l'installation à l'aide de la commande suivante:
      pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ 'ibm_watsonx_ai[fl-rt23.1-py3.10]'
  5. Lorsque votre configuration est terminée et que vous sauvegardez le script de connecteur de partie, entrez la commande suivante sur une ligne de commande pour exécuter le script:

    python3 rts_<RTS Name>_<RTS ID>.py
    

Autres ressources

Fonctions de la bibliothèque de l'apprentissage fédéré

Rubrique parent: Création d'une expérimentation d'apprentissage fédéré

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus