0 / 0
Torna alla versione inglese della documentazione
Connessione all'aggregatore (Party)
Ultimo aggiornamento: 28 nov 2024
Connessione all'aggregatore (Party)

Ciascuna parte segue questi passaggi per connettersi a un aggregatore avviato.

  1. Aprite il progetto e fate clic sull'esperimento Federated Learning.

  2. Fare clic su Visualizza informazioni di configurazione e fare clic sull'icona di download per scaricare lo script del connettore di partito. Cattura dello schermo di Visualizza informazioni di configurazione

  3. Ciascuna parte deve configurare lo script del connettore di partito e fornire credenziali valide per l'esecuzione dello script. Ecco come si presenta un esempio di script del connettore di partito completato:

    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)
    

    Parametri:

    • api_key: '
      La chiave API IAM. Per creare una nuova chiave API, andare su ' sito web IBM Cloud e fare clic su 'Creare una chiave API " IBM Cloud Pak for Data sotto 'Gestione > Accesso (IAM) > Chiavi API.

    Opzionale: si riutilizza uno script da un altro progetto, è possibile copiare i codici aggiornati 'project_id, 'aggregator_id e 'experiment_id dalla finestra delle informazioni di configurazione e copiarli nello script.

  4. Installare watsonx.ai Runtime con l'ultimo pacchetto Federated Learning, se non lo si è ancora fatto:

    • Se si utilizza la serie M su un Mac, installare l'ultimo pacchetto con il seguente script:
    #  -----------------------------------------------------------------------------------------
    #  (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
    
    • Altrimenti installare con il seguente comando:
      '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. Una volta completata la configurazione e salvato lo script del connettore di partito, immettere questo comando in una riga di comando per eseguire lo script:

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

Ulteriori risorse

Funzioni della libreria Federated Learning

Argomento per i genitori: Creare un esperimento di apprendimento federato

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni