Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Registr služby Azure Machine Learning umožňuje spolupracovat napříč pracovními prostory ve vaší organizaci. Pomocí registrů můžete sdílet modely, komponenty, prostředí a data. V tomto článku získáte informace o těchto tématech:
- Vytvořte datové aktivum v registru.
- Sdílejte existující datový zdroj z pracovního prostoru do registry.
- Datový prostředek z registru použijte jako vstup pro úlohu školení modelu v rámci pracovního prostoru.
Klíčový scénář vyřešený sdílením dat pomocí registru služby Azure Machine Learning
Možná budete chtít mít data sdílená v různých týmech, projektech nebo pracovních prostorech v centrálním umístění. Taková data nemají citlivé řízení přístupu a dají se v organizaci používat široce.
Příkladem může být:
- Tým chce sdílet veřejnou datovou sadu, která je předem zpracována a připravená k použití v experimentech.
- Vaše organizace získala konkrétní datovou sadu pro projekt od externího dodavatele a chce ji zpřístupnit všem týmům pracujícím na projektu.
- Tým chce sdílet datové prostředky mezi pracovními prostory v různých oblastech.
V těchto scénářích můžete vytvořit datový prostředek v registru nebo sdílet existující datový prostředek z pracovního prostoru v registru. Tento datový prostředek je pak možné použít napříč několika pracovními prostory.
Scénáře, které se neřeší sdílením dat pomocí registru Služby Azure Machine Learning
Sdílení citlivých dat, která vyžadují jemně odstupňované řízení přístupu Datový prostředek v registru nemůžete vytvořit, abyste ho mohli sdílet s malou podmnožinou uživatelů nebo pracovních prostorů, zatímco registr je přístupný mnoha dalšími uživateli v organizaci.
Sdílení dat, která jsou k dispozici v existujícím úložišti, která nesmí být zkopírována nebo je příliš velká nebo příliš náročná na kopírování. Při každém vytvoření datových prostředků v registru se do úložiště registru ingestuje kopie dat, aby bylo možné je replikovat.
Typy datových assetů podporované registrem služby Azure Machine Learning
Návod
Při rozhodování, jestli chcete použít , uri_filenebo uri_folder pro váš scénář, si projděte následující mltable.
Můžete vytvořit tři datové typy assetů:
| Typ | V2 API | Kanonický scénář |
|---|---|---|
| Soubor: Odkaz na jeden soubor | uri_file |
Čtení a zápis jednoho souboru – soubor může mít libovolný formát. |
| Složka: Odkaz na jednu složku | uri_folder |
Do Pandas/Sparku musíte číst a zapisovat adresář souborů parquet/CSV. Hluboké učení s obrázky, textem, zvukem, videosoubory umístěnými v adresáři. |
| Tabulka: Odkazování na tabulku dat | mltable |
Máte složité schéma, které podléhá častým změnám, nebo potřebujete podmnožinu velkých tabulkových dat. |
Cesty podporované registrem služby Azure Machine Learning
Při vytváření datového assetu je nutné zadat parametr cesty , který odkazuje na umístění dat. V současné době jsou jedinými podporovanými cestami umístění na místním počítači.
Návod
"Místní" znamená místní úložiště pro počítač, který používáte. Pokud například používáte přenosný počítač, místní disk. Pokud používáte výpočetní instanci služby Azure Machine Learning, pak "místní" jednotka výpočetní instance.
Požadavky
Než budete postupovat podle kroků v tomto článku, ujistěte se, že máte následující požadavky:
Znalost konceptů registrů a dat ve službě Azure Machine Learning
Registr služby Azure Machine Learning ke sdílení dat. Pokud chcete vytvořit registr, přečtěte si, jak vytvořit registr.
Pracovní prostor služby Azure Machine Learning. Pokud žádný nemáte, vytvořte ho podle kroků v článku Rychlý start: Vytvoření prostředků pracovního prostoru.
Důležité
Oblast (umístění) Azure, kde vytváříte pracovní prostor, musí být v seznamu podporovaných oblastí pro registr služby Azure Machine Learning.
Prostředí a komponenta vytvořená z článku Jak sdílet modely, komponenty a prostředí.
Azure CLI a
mlrozšíření nebo Azure Machine Learning Python SDK v2:Pokud chcete nainstalovat Azure CLI a rozšíření, přečtěte si téma Instalace, nastavení a použití rozhraní příkazového řádku (v2).
Důležité
Příklady rozhraní příkazového řádku v tomto článku předpokládají, že používáte prostředí Bash (nebo kompatibilní). Například ze systému Linux nebo Subsystém Windows pro Linux.
V příkladech se také předpokládá, že jste pro Azure CLI nakonfigurovali výchozí hodnoty, abyste nemuseli zadávat parametry pro vaše předplatné, pracovní prostor, skupinu prostředků nebo umístění. Pokud chcete nastavit výchozí nastavení, použijte následující příkazy. Nahraďte následující parametry hodnotami pro vaši konfiguraci:
-
<subscription>nahraďte ID vašeho předplatného Azure. - Nahraďte
<workspace>názvem pracovního prostoru služby Azure Machine Learning. - Nahraďte
<resource-group>skupinou prostředků Azure, která obsahuje váš pracovní prostor. - Nahraďte
<location>oblastí Azure, která obsahuje váš pracovní prostor.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>Pomocí příkazu můžete zjistit, jaké jsou
az configure -lvaše aktuální výchozí hodnoty.-
Klonování úložiště s příklady
Příklady kódu v tomto článku jsou založené na nyc_taxi_data_regression ukázce v úložišti příkladů. Pokud chcete tyto soubory použít ve vývojovém prostředí, naklonujte úložiště pomocí následujících příkazů a změňte adresáře na příklad:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
V příkladu rozhraní příkazového řádku se přesuňte do adresáře cli/jobs/pipelines-with-components/nyc_taxi_data_regression ve vašem místním klonu úložiště příkladů.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
Vytvoření připojení sady SDK
Návod
Tento krok je potřeba jenom při použití sady Python SDK.
Vytvořte připojení klienta k pracovnímu prostoru Služby Azure Machine Learning i registru. V následujícím příkladu <...> nahraďte zástupné hodnoty hodnotami vhodnými pro vaši konfiguraci. Například ID předplatného Azure, název pracovního prostoru, název registru atd.:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Vytvoření dat v registru
Datové aktivum vytvořené v tomto kroku bude použito později v tomto článku k odeslání úlohy pro trénink.
Návod
Stejný příkaz az ml data create rozhraní příkazového řádku můžete použít k vytvoření dat v pracovním prostoru nebo registru. Spuštění příkazu s --workspace-name vytvoří data v pracovním prostoru, zatímco spuštění příkazu s --registry-name vytvoří data v registru.
Zdroj dat se nachází v úložišti příkladů, které jste naklonovali dříve. V rámci místního klonu přejděte na následující cestu k adresáři: cli/jobs/pipelines-with-components/nyc_taxi_data_regression. V tomto adresáři vytvořte soubor YAML s názvem data-registry.yml a jako obsah souboru použijte následující YAML:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: transformed-nyc-taxt-data
description: Transformed NYC Taxi data created from local folder.
version: 1
type: uri_folder
path: data_transformed/
Hodnota path odkazuje na data_transformed podadresář, která obsahuje data sdílená pomocí registru.
K vytvoření dat v registru použijte příkaz az ml data create. V následujících příkladech nahraďte <registry-name> názvem vašeho registru.
az ml data create --file data-registry.yml --registry-name <registry-name>
Pokud se zobrazí chyba, že data s tímto názvem a verzí již v registru existují, můžete pole version upravit data-registry.yml nebo zadat jinou verzi rozhraní příkazového řádku, která přepíše hodnotu verze v data-registry.yml.
# use shell epoch time as the version
version=$(date +%s)
az ml data create --file data-registry.yml --registry-name <registry-name> --set version=$version
Návod
version=$(date +%s) Pokud příkaz nenastaví $version proměnnou ve vašem prostředí, nahraďte $version náhodným číslem.
Uložte data name a version z výstupu příkazu az ml data create a použijte je s příkazem az ml data show k zobrazení podrobností o prostředku.
az ml data show --name transformed-nyc-taxt-data --version 1 --registry-name <registry-name>
Návod
Pokud jste použili jiný název nebo verzi dat, nahraďte parametry --name odpovídajícím --version způsobem.
Můžete také použít az ml data list --registry-name <registry-name> k výpisu všech datových prostředků v registru.
Vytvoření prostředí a komponenty v registru
Pokud chcete vytvořit prostředí a komponentu v registru, postupujte podle kroků v článku Jak sdílet modely, komponenty a prostředí . Prostředí a komponenta se používají v trénovací úloze v další části.
Návod
Místo použití prostředí a komponenty z registru můžete použít prostředí a komponentu z pracovního prostoru.
Spustit úlohu kanálu v pracovním prostoru pomocí komponenty z registru
Při spuštění úlohy kanálu, která používá komponentu a data z registru, jsou výpočetní prostředky místní pro pracovní prostor. V následujícím příkladu úloha používá komponentu Scikit Learn k trénování modelu a datový prostředek vytvořený v předchozích sekcích.
Poznámka:
Klíčovým aspektem je, že tento kanál se bude spouštět v pracovním prostoru pomocí trénovacích dat, která nejsou v konkrétním pracovním prostoru. Data jsou v registru, který je možné použít s jakýmkoli pracovním prostorem ve vaší organizaci. Tuto trénovací úlohu můžete spustit v jakémkoli pracovním prostoru, ke kterému máte přístup, aniž byste se museli starat o zpřístupnění trénovacích dat v tomto pracovním prostoru.
Ověřte, že jste v adresáři cli/jobs/pipelines-with-components/nyc_taxi_data_regression . Upravte oddíl v části component souboru train_job, aby odkazoval na trénovací komponentu, a single-job-pipeline.yml v části path pro odkaz na datový asset vytvořený v předchozích částech. Následující příklad ukazuje, single-job-pipeline.yml jak vypadá po úpravách.
<registry_name> Nahraďte názvem vašeho registru:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: azureml://registries/<registry-name>/data/transformed-nyc-taxt-data/versions/1
outputs:
model_output:
type: mlflow_model
test_data:
Varování
- Před spuštěním úlohy potrubí ověřte, že pracovní prostor, ve kterém úlohu spouštíte, se nachází v oblasti Azure, kterou podporuje registr, ve kterém jste data vytvořili.
- Ověřte, že má pracovní prostor výpočetní cluster s názvem
cpu-clusternebo upravtecomputepole podjobs.train_job.computenázvem vašeho výpočetního prostředí.
Spusťte úlohu potrubí pomocí příkazu az ml job create.
az ml job create --file single-job-pipeline.yml
Návod
Pokud jste nenakonfigurovali výchozí pracovní prostor a skupinu prostředků, jak je vysvětleno v části Požadavky, musíte zadat parametry --workspace-name a --resource-group, aby az ml job create fungovalo.
Další informace o spouštění úloh najdete v následujících článcích:
Sdílení dat z pracovního prostoru do registru
Následující kroky ukazují, jak sdílet existující datový prostředek z pracovního prostoru do registru.
Vytvořte nejprve v pracovním prostoru datovou položku. Ujistěte se, že jste v adresáři cli/assets/data . Umístění local-folder.yml v tomto adresáři slouží k vytvoření datového assetu v pracovním prostoru. Data zadaná v tomto souboru jsou k dispozici v cli/assets/data/sample-data adresáři. Následující YAML je obsah local-folder.yml souboru:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: local-folder-example-titanic
description: Dataset created from local folder.
type: uri_folder
path: sample-data/
K vytvoření datového assetu v pracovním prostoru použijte následující příkaz:
az ml data create -f local-folder.yml
Další informace o vytváření datových prostředků v pracovním prostoru najdete v tématu Vytváření datových prostředků.
Datový prostředek vytvořený v pracovním prostoru lze sdílet s registrem. Z registru jej lze použít ve více pracovních prostorech. Předáváme parametr --share_with_name a --share_with_version ve funkci share. Tyto parametry jsou volitelné a pokud nepředáte tato data, budou sdílena se stejným názvem a verzí jako v pracovním prostoru.
Následující příklad ukazuje použití příkazu sdílení ke sdílení datového assetu. Nahraďte <registry-name> názvem registru, do kterého budou data sdílena.
az ml data share --name local-folder-example-titanic --version <version-in-workspace> --share-with-name <name-in-registry> --share-with-version <version-in-registry> --registry-name <registry-name>