0 / 0
Volver a la versión inglesa de la documentación
Conexión con el agregador (parte)
Última actualización: 28 nov 2024
Conexión con el agregador (parte)

Cada parte sigue estos pasos para conectarse a un agregador iniciado.

  1. Abra el proyecto y pulse el experimento de aprendizaje federado.

  2. Pulse Ver información de configuración y pulse el icono de descarga para descargar el script de conector de parte. Captura de pantalla de información de configuración de vista

  3. Cada parte debe configurar el script de conector de parte y proporcionar credenciales válidas para ejecutar el script. Este es el aspecto de un script de conector de parte completado de ejemplo:

    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)
    

    Parámetros:

    • api_key:
      Su clave de API de IAM. Para crear una nueva clave de API, vaya al sitio webIBM Cloud y haga clic en Crear una clave de API IBM Cloud Pak for Data en Gestionar > Acceso(IAM) > Claves de API.

    Opcional: Si está reutilizando un script de un proyecto diferente, puede copiar los project_id, aggregator_id y experiment_id actualizados de la ventana de información de configuración y copiarlos en el script.

  4. Instale watsonx.ai Runtime con el último paquete de Federated Learning si aún no lo ha hecho:

    • Si está utilizando la serie M en un Mac, instale el paquete más reciente con el script siguiente:
    #  -----------------------------------------------------------------------------------------
    #  (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
    
    • De lo contrario, realice la instalación con el mandato siguiente:
      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. Cuando la configuración se haya completado y guarde el script de conector de parte, especifique este mandato en una línea de mandatos para ejecutar el script:

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

Más recursos

Funciones de la biblioteca de Federated Learning

Tema padre: Creación de un experimento de aprendizaje federado

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información