0 / 0
Zurück zur englischen Version der Dokumentation
Verbindung zum Aggregator (Partei) herstellen
Letzte Aktualisierung: 28. Nov. 2024
Verbindung zum Aggregator (Partei) herstellen

Jede Partei führt die folgenden Schritte aus, um eine Verbindung zu einem gestarteten Aggregator herzustellen.

  1. Öffnen Sie das Projekt und klicken Sie auf das Experiment für föderiertes Lernen.

  2. Klicken Sie auf Konfigurationsinformationen anzeigen und klicken Sie dann auf das Downloadsymbol, um das Parteiconnectorscript herunterzuladen. Screenshot der Informationen zur Ansichtenkonfiguration

  3. Jede Partei muss das Parteiconnectorscript konfigurieren und gültige Berechtigungsnachweise für die Ausführung des Scripts angeben. Ein ausgefülltes Beispiel für ein Parteiconnectorscript sieht wie folgt aus:

    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)
    

    Parameter:

    • api_key:
      Ihr IAM-API-Schlüssel. Um einen neuen API-Schlüssel zu erstellen, gehen Sie auf die IBM Cloud und klicken Sie auf IBM Cloud Pak for Data API-Schlüssel erstellen unter Verwalten > Zugriff (IAM) > API-Schlüssel.

    Optional: Wenn Sie ein Script aus einem anderen Projekt wiederverwenden, können Sie die aktualisierten project_id, aggregator_id und experiment_id aus dem Fenster mit den Konfigurationsinformationen kopieren und in das Script kopieren.

  4. Installieren Sie watsonx.ai Runtime mit dem neuesten Federated Learning Paket, falls Sie dies noch nicht getan haben:

    • Wenn Sie M-Series auf einem Mac verwenden, installieren Sie das neueste Paket mit dem folgenden 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
    
    • Andernfalls führen Sie die Installation mit dem Befehl
      pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ 'ibm_watsonx_ai[fl-rt23.1-py3.10]' durch.
  5. Wenn Ihre Konfiguration abgeschlossen ist und Sie das Parteiconnectorscript gespeichert haben, geben Sie den folgenden Befehl in einer Befehlszeile ein, um das Script auszuführen:

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

Weitere Informationsquellen

Funktionen der Bibliothek für föderiertes Lernen

Übergeordnetes Thema: Experiment für föderiertes Lernen erstellen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen