0 / 0
Go back to the English version of the documentation
Výukový program Tensorflow -federovaný výukový program
Last updated: 31. 8. 2023
Výukový program Tensorflow -federovaný výukový program

Tento výukový program demonstruje použití produktu Federated Learning s cílem školení školicího modelu počítače s daty od různých uživatelů, aniž by uživatelé sdíleli svá data. Kroky se provádějí v prostředí s nízkým kódem s uživatelským rozhraním a s rámcem Tensorflow .

Pozn.:

Jedná se o výukový program step-by-step pro spuštění experimentu sdruženého výukového programu řízeného UI. Chcete-li zobrazit ukázku kódu pro přístup řízený rozhraním API, přečtěte si téma Ukázky Tensorflow pro federovanou výuku.

Rada:

V tomto výukovém programu se admin odkazuje na uživatele, který spouští federovaný výukový experiment, a strana odkazuje na jednoho nebo více uživatelů, kteří odesílají výsledky svého modelu poté, co administrátor zahájí pokus o provedení testu. Zatímco výukový program může být proveden administrátorem a více stranami, jeden uživatel může také dokončit úplný run jako admin a strana. Pro jednodušší demonstrační účel, v následujícím výukovém programu, jedna strana předkládá pouze jednu datovou sadu. Další informace o administrátorovi a stranách najdete v tématu Terminologie.


Podívejte se na tento krátký výukový program o tom, jak vytvořit federovaný výukový test s produktem Watson Studio.

Toto video poskytuje vizuální metodu pro seznámení se s koncepty a úlohami v této dokumentaci.

V tomto výukovém programu se naučíte:

Krok 1: Spuštění sdruženého učení jako administrátora

V tomto výukovém programu vyškolit sdružený výukový test s rámcem Tensorflow a datovou sadou MNIST.

Než začnete

  1. Přihlaste se do produktu IBM Cloud. Pokud nemáte účet, vytvořte jej s libovolným e-mailem.

  2. Vytvořit instanci služby Watson Machine Learning , pokud ji nemáte nastaven ve svém prostředí.

  3. Přihlaste se do adresáře Cloud Pak for Data as a Service.

  4. Použijte existující projekt nebo vytvořte nový. Musíte mít alespoň oprávnění administrátora.

  5. Přidružte službu Watson Machine Learning k vašemu projektu.

    1. Ve svém projektu klepněte na volbu Spravovat > Integrace služeb a integrace.
    2. Klepněte na tlačítko Přidružit službu.
    3. Ze seznamu vyberte instanci produktu Watson Machine Learning a klepněte na volbu Přidružit; nebo klepněte na volbu Nová služba , pokud ji nemáte k nastavení instance.

    Snímek obrazovky přidružení služby

Spustit agregátor

  1. Vytvořte aktivum produktu Federated learning Experiment:

    1. Ve svém projektu klepněte na kartu Aktiva .

    2. Klepněte na volbu Nové aktivum > Federovaný výukový materiál.

    3. Zadejte Název pro váš experiment a volitelně také popis.

    4. Ověřte přidruženou instanci produktu Watson Machine Learning pod položkou Select a machine learning instance. Pokud jste nezobrazili přidruženou instanci produktu Watson Machine Learning , postupujte takto:

      1. Klepněte na volbu Přidružit instanci služby Machine Learning.

      2. Vyberte existující instanci a klepněte na tlačítko Přidružit, nebo vytvořte Nová služba.

      3. Chcete-li zobrazit přidruženou službu, klepněte na tlačítko Znovu načíst .

        Snímek obrazovky přidružení služby

      4. Klepněte na tlačítko Další.

  2. Nakonfigurujte experiment.

    1. Na stránce Konfigurace vyberte volbu Hardwarová specifikace.

    2. V rozevíracím seznamu Rámec učení stroje vyberte volbu Tensorflow 2.

    3. Vyberte položku Typ modelu.

    4. Stáhněte si neškolený model.

    5. Zpět v experimentu sdruženého učení klepněte na volbu Vybrat pod položkou Specifikace modelu.

    6. Přetáhněte stažený soubor s názvem tf_mnist_model.zip do souboru Odeslat box.1. Vyberte volbu runtime-22.2-py3.10 pro rozevírací nabídku Specifikace softwaru .

    7. Pojmenujte svůj model a poté klepněte na tlačítko Přidat.

      Snímek obrazovky importu počátečního modelu

    8. Klepněte na volbu Vážený průměr pro Metodu sloučenía klepněte na tlačítko Další.

      Snímek obrazovky UI metod sloučení

  3. Definujte hyperparametry.

    1. Přijměte výchozí hyperparametry nebo upravte podle potřeby.

    2. Po dokončení klepněte na tlačítko Další.

  4. Vyberte vzdálené systémy školení.

    1. Klepněte na volbu Přidat nové systémy.

    Snímek obrazovky Add RTS UI

    1. Pojmenujte svůj vzdálený tréninkový systém.

    2. V části Povolené identityzvolte uživatele, který je vaší stranou, a poté klepněte na tlačítko Přidat. V tomto výukovém programu můžete k demonstračním účelům přidat fiktivní uživatele nebo sami sebe.
      Tento uživatel musí být přidán do vašeho projektu jako spolupracovník s Editorem nebo vyšším oprávněním. Přidejte další systémy opakováním tohoto kroku pro každou vzdálenou stranu, kterou chcete použít.

    3. Až budete hotovi, klepněte na tlačítko Přidat systémy.

      Snímek obrazovky pro přidání uživatelů

    4. Vraťte se na stránku Vybrat vzdálené systémy školení , ověřte, zda je váš systém vybrán, a poté klepněte na tlačítko Další.

  5. Zkontrolujte svá nastavení a poté klepněte na tlačítko Vytvořit.

  6. Sledujte stav. Stav experimentu sdruženého učení je Nevyřízený , když se spustí. Když je váš experiment připraven pro připojení stran k připojení, změní se stav na Nastavení-Čeká na vzdálené systémy. Tato akce může trvat několik minut.

  7. Klepněte na volbu Zobrazit informace o nastavení a stáhněte si konfiguraci strany a skript konektoru strany, který lze spustit na vzdálené straně.

  8. Klepněte na ikonu stažení vedle každého ze vzdálených tréninkových systémů, které jste vytvořili, a poté klepněte na volbu Skript konektoru strany. To vám dá skript konektoru strany. Uložte skript do adresáře na svém počítači.

    Snímek obrazovky uživatelského rozhraní školení

Krok 2: Vlakový model jako strana

Chcete-li vyškolit model jako smluvní stranu, postupujte takto:

  1. Ujistěte se, že používáte stejnou verzi Python jako administrátor. Použití odlišné verze Python může způsobit problémy s kompatibilitou. Chcete-li zobrazit verze Python kompatibilní s různými frameworky, přečtěte si téma Kompatibilita rámců a kompatibilita verze Python.

  2. Vytvořte nový lokální adresář a vložte do něj skript konektoru vaší strany.

  3. Stáhněte popisovač dat mnist_keras_data_handler.py tak, že na něj klepnete pravým tlačítkem myši a poté klepněte na volbu Uložit odkaz jako. Uložte jej do stejného adresáře jako skript konektoru strany.

  4. Stáhněte si datovou sadu MNIST ručně z naší galerie. Ve stejném adresáři jako je skript konektoru strany, popisovač dat a zbytek vašich souborů, rozbalte jej spuštěním příkazu unzip unzip MNIST-pkl.zip.

  5. Nainstalujte produkt Watson Machine Learning.

    • Používáte-li systém Linux, spusťte příkaz pip install 'ibm-watson-machine-learning[fl-rt22.2-py3.10]'.
    • Pokud používáte Mac OS s M-series CPU a Conda, stáhněte instalační skript a pak spusťte ./install_fl_rt22.2_macos.sh <name for new conda environment>.
      Nyní máte skript konektoru strany, mnist_keras_data_handler.py, mnist-keras-test.pkl a mnist-keras-train.pkl, popisovač dat ve stejném adresáři.
  6. Skript konektoru vaší strany vypadá podobně jako následující. Upravte jej tak, že vyplníte umístění datových souborů, popisovač dat a klíč rozhraní API pro uživatele definovaného ve vzdáleném vzdělávacím systému. Chcete-li získat klíč rozhraní API, přejděte na Manage > Access (IAM) > API keys ve vašem účtu IBM Cloud. Pokud ji nemáte, klepněte na volbu Vytvořit klíč rozhraní API, vyplňte pole a klepněte na tlačítko Vytvořit.

    from ibm_watson_machine_learning 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: {
                # Supply the name of the data handler class and path to it.
                # The info section may be used to pass information to the
                # data handler.
                # For example,
                #     "name": "MnistSklearnDataHandler",
                #     "path": "example.mnist_sklearn_data_handler",
                #     "info": {
                #         "train_file": pwd + "/mnist-keras-train.pkl",
                #         "test_file": pwd + "/mnist-keras-test.pkl"
                #     }
                    "name": "<data handler>",
                    "path": "<path to data handler>",
                        "info": {
                            "<information to pass to data handler>"
                        }
                    }
                }
    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)
    
  7. Spusťte skript konektoru strany: python3 rts_<RTS Name>_<RTS ID>.py.
    Z uživatelského rozhraní můžete monitorovat stav experimentu sdruženého učení.

Krok 3: Uložit a implementovat model online

V této sekci se naučíte uložit a implementovat model, který jste vycvičili.

  1. Uložte model.

    1. Ve svém dokončeném experimentu sdruženého učení klepněte na volbu Uložit model do projektu.
    2. Zadejte název modelu a klepněte na tlačítko Uložit.
    3. Přejděte na svůj projekt domů.
  2. Vytvořte prostor implementace, pokud jej nemáte.

    1. V nabídce navigace Navigační nabídkaklepněte na volbu Implementace.
    2. Klepněte na volbu Nový prostor implementace.
    3. Vyplňte pole a klepněte na tlačítko Vytvořit.
  3. Povýšit model na prostor.

    1. Vraťte se do svého projektu a klepněte na kartu Aktiva .
    2. V sekci Modely klepněte na model, abyste zobrazili jeho stránku podrobností.
    3. Klepněte na volbu Povýšit na prostor.
    4. Vyberte prostor implementace pro váš proškolený model.
    5. Vyberte volbu Přejít na model v prostoru po povýšení .
    6. Klepněte na tlačítko Povýšit
  4. Když se model zobrazí uvnitř prostoru implementace, klepněte na volbu Nová implementace.

    1. Vyberte volbu Online jako Typ implementace.
    2. Zadejte název implementace.
    3. Klepněte na volbu Vytvořit.
  5. Klepněte na kartu Implementace , abyste monitorovali stav implementace vašeho modelu.

Další kroky

Jste připraveni vytvořit vlastní přizpůsobené federované experimenty? Viz kroky vysoké úrovně v části Vytvoření experimentu pro federované učení.

Nadřízené téma: Výukový program sdruženého učení a ukázky

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more