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

Jede Partei folgt diesen Schritten, um eine Verbindung zu einem gestarteten Aggregator herzustellen.

  1. Öffnen Sie das Projekt und klicken Sie auf das Experiment Federated Learning.

  2. Klicken Sie auf Setup-Informationen anzeigen und dann auf das Download-Symbol, um das Skript für den Party Connector herunterzuladen. Bildschirmausschnitt von View Setup Information

  3. Jeder Teilnehmer muss das Skript für den Teilnehmeranschluss konfigurieren und gültige Anmeldedaten für die Ausführung des Skripts angeben. So sieht ein Beispiel für ein fertiges Skript für einen Party Connector 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 Skript aus einem anderen Projekt wiederverwenden, können Sie die aktualisierten ' project_id, ' aggregator_id und ' experiment_id aus dem Setup-Informationsfenster kopieren und in das Skript übernehmen.

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

    • Wenn Sie die M-Serie auf einem Mac verwenden, installieren Sie das neueste Paket mit dem folgenden Skript:
    #  -----------------------------------------------------------------------------------------
    #  (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 installieren Sie mit dem folgenden 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]'
  5. Wenn Ihre Konfiguration abgeschlossen ist und Sie das Skript für den Party-Connector gespeichert haben, geben Sie diesen Befehl in eine Befehlszeile ein, um das Skript auszuführen:

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

Weitere Informationsquellen

Funktionen der Bibliothek für föderiertes Lernen

Übergeordnetes Thema: Erstellen eines föderalen Lernexperiments

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