Megosztás a következőn keresztül:


Adategységek létrehozása és kezelése

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Ez a cikk bemutatja, hogyan hozhat létre és kezelhet adategységeket az Azure Machine Learningben.

Az adategységek segíthetnek, ha szüksége van rá:

  • Verziószámozás: Az adategységek támogatják az adatok verziószámozását.
  • Reprodukálhatóság: Miután létrehozott egy adategység-verziót, az nem módosítható. Nem módosítható és nem törölhető. Ezért az adategységet használó betanítási feladatok vagy folyamatok reprodukálhatók.
  • Ellenőrizhetőség: Mivel az adategység verziója nem módosítható, nyomon követheti az eszközverziókat, a verziófrissítéseket és a verziófrissítéseket.
  • Életút: Bármely adott adategység esetében megtekintheti, hogy mely feladatok vagy folyamatok használják fel az adatokat.
  • Egyszerű használat: Az Azure-beli gépi tanulási adategységek a webböngésző könyvjelzőihez (kedvenceihez) hasonlítanak. Az Azure Storage-ban gyakran használt adatokra hivatkozó hosszú tárolási útvonalak (URI-k) megjegyzése helyett létrehozhat egy adategység-verziót, majd rövid névvel (például: azureml:<my_data_asset_name>:<version>) elérheti az eszköz ezen verzióját.

Tipp.

Ha interaktív munkamenetben (például jegyzetfüzetben) vagy feladatban szeretné elérni az adatokat, nem kell először létrehoznia egy adategységet. Az adatok eléréséhez az adattár URI-jait használhatja. Az adattár URI-k egyszerű módot kínálnak az adatok elérésére az Azure machine learning használatának megkezdéséhez.

Előfeltételek

Az adategységek létrehozásához és használatához a következőkre van szükség:

Adategységek létrehozása

Az adategység létrehozásakor be kell állítania az adategység típusát. Az Azure Machine Learning három adategységtípust támogat:

Típus API Canonical Scenarios
Fájl
Egyetlen fájlra való hivatkozás
uri_file Egyetlen fájl olvasása az Azure Storage-ban (a fájl bármilyen formátumú lehet).
Mappa
Hivatkozás mappára
uri_folder Parquet-/CSV-fájlok mappájának beolvasása a Pandasba/Sparkba.

Egy mappában található strukturálatlan adatok (képek, szöveg, hang stb.) olvasása.
Tábla
Adattáblára való hivatkozás
mltable Ön összetett sémával rendelkezik, amely gyakran változik, vagy nagy táblázatos adatok egy részhalmazára van szüksége.

AutoML táblákkal.

Több tárolóhelyre kiterjedő strukturálatlan adatok (képek, szöveg, hang stb.) olvasása.

Feljegyzés

Csak akkor használjon beágyazott újvonalakat csv-fájlokban, ha az adatokat MLTable-ként regisztrálja. A csv-fájlokba ágyazott újvonalak az adatok olvasása során hibás mezőértékeket okozhatnak. Az MLTable az support_multi_line átalakításban read_delimited elérhető paramétert használja az idézett sortörések egyetlen rekordként való értelmezéséhez.

Amikor egy Azure Machine Learning-feladatban használja az adategységet, csatlakoztathatja vagy letöltheti az objektumot a számítási csomópont(ok)ra. További információkért látogasson el a Módok webhelyre.

Emellett meg kell adnia egy paramétert path , amely az adategység helyére mutat. A támogatott elérési utak a következők:

Hely Példák
Elérési út a helyi számítógépen ./home/username/data/my_data
Elérési út egy adattárban azureml://datastores/<data_store_name>/paths/<path>
Elérési út egy nyilvános HTTP-kiszolgálón https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Elérési út az Azure Storage-ban (Blob) wasbs://<containername>@<accountname>.blob.core.windows.net/<path_to_data>/
(ADLS gen2) abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>
(ADLS gen1) adl://<accountname>.azuredatalakestore.net/<path_to_data>/

Feljegyzés

Amikor helyi elérési útból hoz létre adategységet, az automatikusan feltölti az alapértelmezett Azure Machine Learning-felhőadattárba.

Adategység létrehozása: fájltípus

A fájl (uri_file) típusú adategységek egyetlen tárolófájlra (például CSV-fájlra) mutatnak. Fájltípusú adategységet a következőkkel hozhat létre:

Hozzon létre egy YAML-fájlt, és másolja és illessze be a következő kódrészletet. Mindenképpen frissítse a <> helyőrzőket a

  • az adategység neve
  • a verzió
  • leírás
  • egyetlen fájl elérési útja egy támogatott helyen
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# Supported paths include:
# local: './<path>/<file>' (this will be automatically uploaded to cloud storage)
# blob:  'wasbs://<container_name>@<account_name>.blob.core.windows.net/<path>/<file>'
# ADLS gen2: 'abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/<file>'
# Datastore: 'azureml://datastores/<data_store_name>/paths/<path>/<file>'

type: uri_file
name: <NAME OF DATA ASSET>
version: <VERSION>
description: <DESCRIPTION>
path: <SUPPORTED PATH>

Ezután hajtsa végre a következő parancsot a parancssori felületen. Mindenképpen frissítse a helyőrzőt <filename> a YAML-fájlnévre.

az ml data create -f <filename>.yml

Adategység létrehozása: mappatípus

A mappa (uri_folder) típusú adategység egy tárolási erőforrás egy mappájára mutat , például egy olyan mappára, amely több kép almappáját tartalmazza. Mappatípusú adategységet a következőkkel hozhat létre:

Másolja és illessze be a következő kódot egy új YAML-fájlba. Mindenképpen frissítse a <> helyőrzőket a

  • Az adategység neve
  • A verzió
  • Leírás
  • Mappa elérési útja egy támogatott helyen
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# Supported paths include:
# local: './<path>/<folder>' (this will be automatically uploaded to cloud storage)
# blob:  'wasbs://<container_name>@<account_name>.blob.core.windows.net/<path>/<folder>'
# ADLS gen2: 'abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/<folder>'
# Datastore: 'azureml://datastores/<data_store_name>/paths/<path>/<folder>'

type: uri_folder
name: <NAME OF DATA ASSET>
version: <VERSION>
description: <DESCRIPTION>
path: <SUPPORTED PATH>

Ezután hajtsa végre a következő parancsot a parancssori felületen. Mindenképpen frissítse a helyőrzőt <filename> a YAML-fájlnévre.

az ml data create -f <filename>.yml

Adategység létrehozása: táblatípus

Az Azure Machine Learning-táblák (MLTable) számos funkcióval rendelkeznek, amelyeket részletesebben az Azure Machine Learning-táblákkal való munka során ismertetünk. A dokumentáció ismétlése helyett olvassa el ezt a példát, amely bemutatja, hogyan hozhat létre tábla típusú adategységet a Titanic-adatokkal egy nyilvánosan elérhető Azure Blob Storage-fiókban.

Először hozzon létre egy új, adatok nevű könyvtárat, és hozzon létre egy MLTable nevű fájlt:

mkdir data
touch MLTable

Ezután másolja és illessze be a következő YAML-fájlt az előző lépésben létrehozott MLTable fájlba:

Figyelemfelhívás

Ne nevezze át a fájlt a MLTable következőreMLTable.yaml: vagy MLTable.yml. Az Azure Machine Learning egy MLTable fájlt vár.

paths:
- file: wasbs://data@azuremlexampledata.blob.core.windows.net/titanic.csv
transformations:
- read_delimited:
    delimiter: ','
    empty_as_string: false
    encoding: utf8
    header: all_files_same_headers
    include_path_column: false
    infer_column_types: true
    partition_size: 20971520
    path_column: Path
    support_multi_line: false
- filter: col('Age') > 0
- drop_columns:
  - PassengerId
- convert_column_types:
  - column_type:
      boolean:
        false_values:
        - 'False'
        - 'false'
        - '0'
        mismatch_as: error
        true_values:
        - 'True'
        - 'true'
        - '1'
    columns: Survived
type: mltable

Hajtsa végre a következő parancsot a parancssori felületen. Mindenképpen frissítse a <> helyőrzőket az adategység nevével és verzióértékeivel.

az ml data create --path ./data --name <DATA ASSET NAME> --version <VERSION> --type mltable

Fontos

Az path érvényes MLTable fájlt tartalmazó mappának kell lennie.

Adategységek létrehozása feladatkimenetekből

Azure Machine Learning-feladatból hozhat létre adategységet. Ehhez állítsa be a paramétert name a kimenetben. Ebben a példában elküld egy feladatot, amely adatokat másol egy nyilvános blobtárolóból az alapértelmezett Azure Machine Learning Datastore-ba, és létrehoz egy úgynevezett adategységet job_output_titanic_asset.

Feladatspecifikációs YAML-fájl létrehozása (<file-name>.yml):

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json

# path: Set the URI path for the data. Supported paths include
# local: `./<path>
# Blob: wasbs://<container_name>@<account_name>.blob.core.windows.net/<path>
# ADLS: abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>
# Datastore: azureml://datastores/<data_store_name>/paths/<path>
# Data Asset: azureml:<my_data>:<version>

# type: What type of data are you pointing to?
# uri_file (a specific file)
# uri_folder (a folder)
# mltable (a table)

# mode: Set INPUT mode:
# ro_mount (read-only mount)
# download (download from storage to node)
# mode: Set the OUTPUT mode
# rw_mount (read-write mount)
# upload (upload data from node to storage)

type: command
command: cp ${{inputs.input_data}} ${{outputs.output_data}}
compute: azureml:cpu-cluster
environment: azureml://registries/azureml/environments/sklearn-1.1/versions/4
inputs:
  input_data:
    mode: ro_mount
    path: azureml:wasbs://data@azuremlexampledata.blob.core.windows.net/titanic.csv
    type: uri_file
outputs:
  output_data:
    mode: rw_mount
    path: azureml://datastores/workspaceblobstore/paths/quickstart-output/titanic.csv
    type: uri_file
    name: job_output_titanic_asset
    

Ezután küldje el a feladatot a parancssori felület használatával:

az ml job create --file <file-name>.yml

Adategységek felügyelete

Adategység törlése

Fontos

Az adategységek törlése tervezés szerint nem támogatott.

Ha az Azure Machine Learning lehetővé teszi az adategységek törlését, az alábbi kedvezőtlen és negatív hatásokkal járna:

  • A később törölt adategységeket használó éles feladatok sikertelenek lesznek.
  • Nehezebb lenne reprodukálni egy ML-kísérletet.
  • A feladatsor megszakadna, mert lehetetlenné válik a törölt adategység-verzió megtekintése.
  • Nem tudja megfelelően nyomon követni és naplózni, mivel a verziók hiányoznak.

Ezért az adategységek nem módosíthatósága biztosít szintű védelmet az éles számítási feladatokat létrehozó csapatban végzett munka során.

Egy tévesen létrehozott adategység esetében – például helytelen névvel, típussal vagy elérési úttal – az Azure Machine Learning megoldásokat kínál a helyzet kezelésére a törlés negatív következményei nélkül:

Törölni szeretném ezt az adategységet, mert... Megoldás
A név helytelen Az adategység archiválása
A csapat már nem használja az adategységet Az adategység archiválása
Zsúfolttá teszi az adategységek listáját Az adategység archiválása
Az elérési út helytelen Hozza létre az adategység új verzióját (ugyanaz a név) a megfelelő elérési úttal. További információ: Adategységek létrehozása.
Helytelen típussal rendelkezik Az Azure Machine Learning jelenleg nem teszi lehetővé egy olyan új verzió létrehozását, amely a kezdeti verzióhoz képest más típusú.
(1) Az adategység archiválása
(2) Hozzon létre egy új adategységet egy másik néven, a megfelelő típussal.

Adategység archiválása

Az adategységek archiválása alapértelmezés szerint elrejti azt mindkét lista-lekérdezésből (például a PARANCSSOR-ban az ml data list) és az adategység-listából a Studio felhasználói felületén. Továbbra is hivatkozhat és használhat archivált adategységet a munkafolyamatokban. Archiválhatja a következőt:

  • Az adategység minden verziója adott név alatt

vagy

  • Az adategység adott verziója

Adategység összes verziójának archiválása

Ha az adategység összes verzióját egy adott név alatt szeretné archiválni, használja a következőt:

Hajtsa végre a következő parancsot. Mindenképpen frissítse a <> helyőrzőket az adataival.

az ml data archive --name <NAME OF DATA ASSET>

Adott adategység-verzió archiválása

Az adategység adott verziójának archiválásához használja a következőt:

Hajtsa végre a következő parancsot. Mindenképpen frissítse a <> helyőrzőket az adategység nevével és verziójával.

az ml data archive --name <NAME OF DATA ASSET> --version <VERSION TO ARCHIVE>

Archivált adategység visszaállítása

Az archivált adategységeket visszaállíthatja. Ha az adategység összes verziója archiválva van, az adategység egyes verziói nem állíthatók vissza – az összes verziót vissza kell állítania.

Adategység összes verziójának visszaállítása

Ha az adategység összes verzióját vissza szeretné állítani egy adott név alatt, használja a következőt:

Hajtsa végre a következő parancsot. Mindenképpen frissítse a <> helyőrzőket az adategység nevével.

az ml data restore --name <NAME OF DATA ASSET>

Az adategység adott verziójának visszaállítása

Fontos

Ha az adategység összes verziója archiválva lett, nem állíthatja vissza az adategység egyes verzióit – az összes verziót vissza kell állítania.

Az adategység adott verziójának visszaállításához használja a következőt:

Hajtsa végre a következő parancsot. Mindenképpen frissítse a <> helyőrzőket az adategység nevével és verziójával.

az ml data restore --name <NAME OF DATA ASSET> --version <VERSION TO ARCHIVE>

Adatéletút

Az adatéletciklust széles körben az adatok eredetét és a tárolók közötti időbeli mozgást felölelő életciklusként értelmezik. Különböző típusú visszatekintő forgatókönyvek használják, például

  • Hibaelhárítás
  • Az ML-folyamatok alapvető okainak nyomon követése
  • Hibakeresés

Az adatminőség-elemzés, a megfelelőség és a "mi van, ha" forgatókönyvek is az adatminőséget használják. A lineage vizuálisan jelenik meg az adatok forrásról célhelyre való áthelyezésére, valamint az adatátalakításokra is. A legtöbb vállalati adatkörnyezet összetettsége miatt ezek a nézetek nehezen értelmezhetők a perifériás adatpontok összevonása vagy maszkolása nélkül.

Az Azure Machine Learning Pipeline-ban az adategységek az adatok eredetét és az adatok feldolgozásának módját mutatják, például:

Képernyőkép az adatsorról a feladat részleteiben.

Az adategységet használó feladatokat a Studio felhasználói felületén tekintheti meg. Először válassza az Adatok lehetőséget a bal oldali menüben, majd válassza ki az adategység nevét. Figyelje meg az adategységet használó feladatokat:

Képernyőkép az adategységet használó feladatokról.

Az Adategységek feladatnézete megkönnyíti a feladathibák keresését, valamint a kiváltó okok elemzését az ML-folyamatokban és a hibakeresésben.

Adategység címkézése

Az adategységek támogatják a címkézést, amely az adategységre kulcs-érték párként alkalmazott további metaadatok. Az adatcímkézés számos előnnyel jár:

  • Adatminőség leírása. Ha például a szervezet egy medallion lakehouse architektúrát használ, az objektumokat (nyers), (érvényesített) medallion:silver és medallion:gold (bővített) címkével medallion:bronze is megjelölheti.
  • Az adatok hatékony keresése és szűrése az adatfelderítés elősegítése érdekében.
  • Bizalmas személyes adatok azonosítása az adathozzáférés megfelelő kezelése és szabályozása érdekében. Például: sensitivity:PII/sensitivity:nonPII.
  • Annak meghatározása, hogy az adatokat egy felelős AI-audit (RAI) hagyja-e jóvá. Például: RAI_audit:approved/RAI_audit:todo.

Címkéket adhat hozzá az adategységekhez a létrehozási folyamat részeként, vagy hozzáadhat címkéket a meglévő adategységekhez. Ez a szakasz mindkettőt megjeleníti:

Címkék hozzáadása az adategység-létrehozási folyamat részeként

Hozzon létre egy YAML-fájlt, és másolja és illessze be a következő kódot a YAML-fájlba. Mindenképpen frissítse a <> helyőrzőket a

  • az adategység neve
  • a verzió
  • leírás
  • címkék (kulcs-érték párok)
  • egyetlen fájl elérési útja egy támogatott helyen
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# Supported paths include:
# local: './<path>/<file>' (this will be automatically uploaded to cloud storage)
# blob:  'wasbs://<container_name>@<account_name>.blob.core.windows.net/<path>/<file>'
# ADLS gen2: 'abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/<file>'
# Datastore: 'azureml://datastores/<data_store_name>/paths/<path>/<file>'

# Data asset types, use one of:
# uri_file, uri_folder, mltable

type: uri_file
name: <NAME OF DATA ASSET>
version: <VERSION>
description: <DESCRIPTION>
tags:
    <KEY1>: <VALUE>
    <KEY2>: <VALUE>
path: <SUPPORTED PATH>

Hajtsa végre a következő parancsot a parancssori felületen. Mindenképpen frissítse a helyőrzőt <filename> a YAML-fájlnévre.

az ml data create -f <filename>.yml

Címkék hozzáadása meglévő adategységhez

Hajtsa végre a következő parancsot az Azure CLI-ben. Mindenképpen frissítse a <> helyőrzőket a

  • Az adategység neve
  • A verzió
  • Kulcs-érték pár a címkéhez
az ml data update --name <DATA ASSET NAME> --version <VERSION> --set tags.<KEY>=<VALUE>

Ajánlott verziószámozási eljárások

Az ETL-folyamatok általában idő szerint rendszerezik a mappastruktúrát az Azure Storage-ban, például:

/
└── 📁 mydata
    ├── 📁 year=2022
    │   ├── 📁 month=11
    │   │   └── 📄 file1
    │   │   └── 📄 file2
    │   └── 📁 month=12
    │       └── 📄 file1
    │   │   └── 📄 file2
    └── 📁 year=2023
        └── 📁 month=1
            └── 📄 file1
    │   │   └── 📄 file2

Az idő/verzió strukturált mappák és az Azure Machine Learning-táblák (MLTable) együttes használatával verziószámozott adathalmazokat hozhat létre. Egy hipotetikus példa bemutatja, hogyan lehet verziószámozott adatokat elérni az Azure Machine Learning Tables használatával. Tegyük fel, hogy van egy folyamat, amely hetente feltölti a kameraképeket az Azure Blob Storage-ba, ebben a struktúrában:

/myimages
└── 📁 year=2022
    ├── 📁 week52
    │   ├── 📁 camera1
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    │   └── 📁 camera2
    │       └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
└── 📁 year=2023
    ├── 📁 week1
    │   ├── 📁 camera1
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    │   └── 📁 camera2
    │       └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg

Feljegyzés

Bár bemutatjuk a rendszerképek (jpeg) adatainak verziószámát, ugyanez a megközelítés minden fájltípusnál (például Parquet, CSV) működik.

Az Azure Machine Learning-táblákkal (mltable) hozzon létre egy elérési utakat tartalmazó táblázatot, amely 2023-ban az első hét végéig tartalmazza az adatokat. Ezután hozzon létre egy adategységet:

import mltable
from mltable import MLTableHeaders, MLTableFileEncoding, DataType
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
from azure.identity import DefaultAzureCredential

# The ** in the pattern below will glob all sub-folders (camera1, ..., camera2)
paths = [
    {
        "pattern": "abfss://<file_system>@<account_name>.dfs.core.windows.net/myimages/year=2022/week=52/**/*.jpeg"
    },
    {
        "pattern": "abfss://<file_system>@<account_name>.dfs.core.windows.net/myimages/year=2023/week=1/**/*.jpeg"
    },
]

tbl = mltable.from_paths(paths)
tbl.save("./myimages")

# Connect to the AzureML workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AML_WORKSPACE_NAME>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id, resource_group, workspace
)

# Define the Data asset object
my_data = Data(
    path=mltable_folder,
    type=AssetTypes.MLTABLE,
    description="My images. Version includes data through to 2023-Jan-08.",
    name="myimages",
    version="20230108",
)

# Create the data asset in the workspace
ml_client.data.create_or_update(my_data)

A következő hét végén az ETL frissítette az adatokat, hogy további adatokat tartalmazzon:

/myimages
└── 📁 year=2022
    ├── 📁 week52
    │   ├── 📁 camera1
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    │   └── 📁 camera2
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
└── 📁 year=2023
    ├── 📁 week1
    │   ├── 📁 camera1
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    │   └── 📁 camera2
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    ├── 📁 week2
    │   ├── 📁 camera1
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg
    │   └── 📁 camera2
    │   │   └── 🖼️ file1.jpeg
    │   │   └── 🖼️ file2.jpeg

Az első verzió (20230108) továbbra is csak a fájlok csatlakoztatását year=2022/week=52 /letöltését tartalmazza, és year=2023/week=1 mivel az elérési utak deklarálva vannak a MLTable fájlban. Ez biztosítja a kísérletek reprodukálhatóságát . Az adategység year=2023/week2új verziójának létrehozásához használja a következőt:

import mltable
from mltable import MLTableHeaders, MLTableFileEncoding, DataType
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
from azure.identity import DefaultAzureCredential

# The ** in the pattern below will glob all sub-folders (camera1, ..., camera2)
paths = [
    {
        "pattern": "abfss://<file_system>@<account_name>.dfs.core.windows.net/myimages/year=2022/week=52/**/*.jpeg"
    },
    {
        "pattern": "abfss://<file_system>@<account_name>.dfs.core.windows.net/myimages/year=2023/week=1/**/*.jpeg"
    },
    {
        "pattern": "abfss://<file_system>@<account_name>.dfs.core.windows.net/myimages/year=2023/week=2/**/*.jpeg"
    },
]

# Save to an MLTable file on local storage
tbl = mltable.from_paths(paths)
tbl.save("./myimages")

# Next, you create a data asset - the MLTable file will automatically be uploaded

# Connect to the AzureML workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AML_WORKSPACE_NAME>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id, resource_group, workspace
)

# Define the Data asset object
my_data = Data(
    path=mltable_folder,
    type=AssetTypes.MLTABLE,
    description="My images. Version includes data through to 2023-Jan-15.",
    name="myimages",
    version="20230115", # update version to the date
)

# Create the data asset in the workspace
ml_client.data.create_or_update(my_data)

Most már két verziója van az adatoknak, ahol a verzió neve megegyezik a képek tárolási helyre való feltöltésének dátumával:

  1. 20230108: A képek 2023. január 08-ig.
  2. 20230115: A képek 2023. január 15-ig.

Az MLTable mindkét esetben olyan elérési utakat tartalmazó táblázatot hoz létre, amely csak az adott dátumig tartalmazza a képeket.

Egy Azure Machine Learning-feladatban csatlakoztathatja vagy letöltheti ezeket az útvonalakat a verziószámozott MLTable-ban a számítási célhoz az eval_download alábbi módok vagy eval_mount módok használatával:

from azure.ai.ml import MLClient, command, Input
from azure.ai.ml.entities import Environment
from azure.identity import DefaultAzureCredential
from azure.ai.ml.constants import InputOutputModes

# connect to the AzureML workspace
ml_client = MLClient.from_config(
    DefaultAzureCredential()
)

# Get the 20230115 version of the data
data_asset = ml_client.data.get(name="myimages", version="20230115")

input = {
    "images": Input(type="mltable",
                   path=data_asset.id,
                   mode=InputOutputModes.EVAL_MOUNT
            )
}

cmd = """
ls ${{inputs.images}}/**
"""

job = command(
    command=cmd,
    inputs=input,
    compute="cpu-cluster",
    environment="azureml://registries/azureml/environments/sklearn-1.1/versions/4"
)

ml_client.jobs.create_or_update(job)

Feljegyzés

A eval_mount módok és eval_download a módok egyediek az MLTable-ra. Ebben az esetben az AzureML adat-futtatókörnyezeti képessége kiértékeli a MLTable fájlt, és csatlakoztatja az elérési utakat a számítási célhoz.

Következő lépések