Membuat dan mengelola aset data

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Artikel ini memperlihatkan cara membuat dan mengelola aset data di Azure Pembelajaran Mesin.

Aset data dapat membantu saat Anda membutuhkan kemampuan ini:

  • Penerapan versi: Aset data mendukung penerapan versi data.
  • Reproduksi: Setelah Anda membuat versi aset data, versi tersebut tidak dapat diubah. Ini tidak dapat dimodifikasi atau dihapus. Oleh karena itu, pekerjaan pelatihan atau alur yang mengonsumsi aset data dapat diperbanyak.
  • Auditabilitas: Karena versi aset data tidak dapat diubah, Anda dapat melacak versi aset, yang memperbarui versi, dan kapan pembaruan versi terjadi.
  • Silsilah data: Untuk aset data tertentu, Anda dapat melihat pekerjaan atau alur mana yang menggunakan data.
  • Kemudahan penggunaan: Aset data pembelajaran mesin Azure menyerupan bookmark browser web (favorit). Alih-alih mengingat jalur penyimpanan panjang (URI) yang mereferensikan data yang sering digunakan di Azure Storage, Anda dapat membuat versi aset data lalu mengakses versi aset tersebut dengan nama yang mudah diingat (misalnya: azureml:<my_data_asset_name>:<version>).

Tip

Untuk mengakses data Anda dalam sesi interaktif (misalnya, notebook) atau pekerjaan, Anda tidak diharuskan untuk terlebih dahulu membuat aset data. Anda dapat menggunakan URI Datastore untuk mengakses data. URI datastore menawarkan cara sederhana untuk mengakses data bagi mereka yang memulai pembelajaran mesin Azure.

Prasyarat

Untuk membuat dan bekerja dengan aset data, Anda perlu:

Membuat aset data

Saat membuat aset data, Anda perlu mengatur jenis aset data. Azure Pembelajaran Mesin mendukung tiga jenis aset data:

Jenis API Skenario Kanonis
File
Mereferensikan satu file
uri_file Baca satu file di Azure Storage (file dapat memiliki format apa pun).
Folder
Mereferensikan folder
uri_folder Baca folder file parket/CSV ke Pandas/Spark.

Baca data yang tidak terstruktur (gambar, teks, audio, dll.) yang terletak di folder.
Table
Mereferensikan tabel data
mltable Anda memiliki skema kompleks yang sering mengalami perubahan, atau Anda memerlukan subset data tabular besar.

AutoML dengan Tabel.

Baca data yang tidak terstruktur (gambar, teks, audio, dll.) data yang tersebar di beberapa lokasi penyimpanan.

Catatan

Jangan gunakan baris baru yang disematkan dalam file csv kecuali Anda mendaftarkan data sebagai MLTable. Baris baru yang disematkan dalam file csv dapat menyebabkan nilai bidang yang tidak selaras saat Anda membaca data. MLTable memiliki parameter support_multi_lineini dalam read_delimited transformasi untuk menafsirkan pemisah baris yang dikutip sebagai satu rekaman.

Saat Anda menggunakan aset data dalam pekerjaan Azure Pembelajaran Mesin, Anda dapat memasang atau mengunduh aset ke simpul komputasi. Untuk informasi selengkapnya, silakan baca Mode.

Selain itu, Anda harus menentukan path parameter yang menunjuk ke lokasi aset data. Jalur yang didukung meliputi:

Lokasi Contoh
Jalur pada komputer lokal Anda ./home/username/data/my_data
Jalur pada Datastore azureml://datastores/<data_store_name>/paths/<path>
Jalur pada server http milik publik https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Jalur pada Azure Storage (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>/

Catatan

Saat Anda membuat aset data dari jalur lokal, aset tersebut akan secara otomatis diunggah ke datastore cloud Pembelajaran Mesin Azure default.

Membuat aset data: Jenis file

Aset data yang merupakan jenis File (uri_file) menunjuk ke satu file pada penyimpanan (misalnya, file CSV). Anda dapat membuat aset data yang ditik file menggunakan:

Buat file YAML dan salin dan tempel kode berikut. Anda harus memperbarui <> tempat penampung dengan nama aset data Anda, versi, deskripsi, dan jalur ke satu file di lokasi yang didukung.

$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>

Selanjutnya, jalankan perintah berikut di CLI (perbarui <filename> tempat penampung ke nama file YAML):

az ml data create -f <filename>.yml

Membuat aset data: Jenis folder

Aset data yang merupakan jenis Folder (uri_folder) adalah jenis yang menunjuk ke folder pada penyimpanan (misalnya, folder yang berisi beberapa subfolder gambar). Anda dapat membuat aset data yang dititik folder menggunakan:

Buat file YAML dan salin dan tempel kode berikut. Anda perlu memperbarui <> tempat penampung dengan nama aset data Anda, versi, deskripsi, dan jalur ke folder di lokasi yang didukung.

$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>

Selanjutnya, jalankan perintah berikut di CLI (perbarui <filename> tempat penampung ke nama file ke nama file YAML):

az ml data create -f <filename>.yml

Membuat aset data: Jenis tabel

Azure Pembelajaran Mesin Tables (MLTable) memiliki fungsionalitas yang kaya, dibahas secara lebih rinci di Bekerja dengan tabel di Azure Pembelajaran Mesin. Daripada mengulangi dokumentasi tersebut di sini, kami memberikan contoh pembuatan aset data jenis Tabel, menggunakan data Titanic yang terletak di akun Azure Blob Storage yang tersedia untuk umum.

Pertama, buat direktori baru yang disebut data, dan buat file bernama MLTable:

mkdir data
touch MLTable

Selanjutnya, salin dan tempel YAML berikut ke dalam file MLTable yang Anda buat di langkah sebelumnya:

Perhatian

Jangan ganti nama file menjadi MLTableMLTable.yaml atau MLTable.yml. Pembelajaran mesin Azure mengharapkan MLTable file.

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

Selanjutnya, jalankan perintah berikut di CLI. Pastikan Anda memperbarui <> tempat penampung dengan nama aset data dan nilai versi.

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

Penting

harus path berupa folder yang berisi file yang valid MLTable .

Membuat aset data dari output pekerjaan

Anda dapat membuat aset data dari pekerjaan Azure Pembelajaran Mesin dengan mengatur name parameter dalam output. Dalam contoh ini, Anda mengirimkan pekerjaan yang menyalin data dari penyimpanan blob publik ke Azure Pembelajaran Mesin Datastore default Anda dan membuat aset data yang disebut job_output_titanic_asset.

Buat file YAML spesifikasi pekerjaan (<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
    

Selanjutnya, kirimkan pekerjaan menggunakan CLI:

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

Mengelola aset data

Menghapus aset data

Penting

Secara desain, penghapusan aset data tidak didukung.

Jika pembelajaran mesin Azure mengizinkan penghapusan aset data, itu akan memiliki efek buruk berikut:

  • Pekerjaan produksi yang menggunakan aset data yang kemudian dihapus akan gagal.
  • Akan menjadi lebih sulit untuk mereprodusi eksperimen ML.
  • Silsilah pekerjaan akan rusak, karena tidak mungkin untuk melihat versi aset data yang dihapus.
  • Anda tidak akan dapat melacak dan mengaudit dengan benar, karena versi bisa hilang.

Oleh karena itu, kekekalan aset data memberikan tingkat perlindungan saat bekerja dalam tim yang membuat beban kerja produksi.

Ketika aset data telah dibuat secara keliru - misalnya, dengan nama, jenis, atau jalur yang salah - Azure Pembelajaran Mesin menawarkan solusi untuk menangani situasi tanpa konsekuensi negatif dari penghapusan:

Saya ingin menghapus aset data ini karena... Solusi
Nama salah Mengarsipkan aset data
Tim tidak lagi menggunakan aset data Mengarsipkan aset data
Ini mengacaukan daftar aset data Mengarsipkan aset data
Jalur salah Buat versi baru aset data (nama yang sama) dengan jalur yang benar. Untuk informasi selengkapnya, baca Membuat aset data.
Ini memiliki jenis yang salah Saat ini, Azure Pembelajaran Mesin tidak mengizinkan pembuatan versi baru dengan jenis yang berbeda dibandingkan dengan versi awal.
(1) Mengarsipkan aset data
(2) Buat aset data baru dengan nama yang berbeda dengan jenis yang benar.

Mengarsipkan aset data

Pengarsipan aset data menyembunyikannya secara default dari kedua kueri daftar (misalnya, di CLI az ml data list) dan daftar aset data di Antarmuka Pengguna Studio. Anda masih dapat terus mereferensikan dan menggunakan aset data yang diarsipkan di alur kerja Anda. Anda dapat mengarsipkan:

  • semua versi aset data dengan nama tertentu, atau
  • versi aset data tertentu

Mengarsipkan semua versi aset data

Untuk mengarsipkan semua versi aset data dengan nama tertentu, gunakan:

Jalankan perintah berikut (perbarui <> tempat penampung dengan nama aset data Anda):

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

Mengarsipkan versi aset data tertentu

Untuk mengarsipkan versi aset data tertentu, gunakan:

Jalankan perintah berikut (perbarui <> tempat penampung dengan nama aset dan versi data Anda):

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

Memulihkan aset data yang diarsipkan

Anda dapat memulihkan aset data yang diarsipkan. Jika semua versi aset data diarsipkan, Anda tidak dapat memulihkan versi aset data individual - Anda harus memulihkan semua versi.

Memulihkan semua versi aset data

Untuk memulihkan semua versi aset data dengan nama tertentu, gunakan:

Jalankan perintah berikut (perbarui <> tempat penampung dengan nama aset data Anda):

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

Memulihkan versi aset data tertentu

Penting

Jika semua versi aset data diarsipkan, Anda tidak dapat memulihkan versi individual aset data - Anda harus memulihkan semua versi.

Untuk memulihkan versi aset data tertentu, gunakan:

Jalankan perintah berikut (perbarui <> tempat penampung dengan nama aset dan versi data Anda):

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

Silsilah data

Silsilah data secara luas dipahami sebagai siklus hidup yang mencakup asal data, dan tempat data bergerak dari waktu ke waktu di seluruh penyimpanan. Berbagai jenis skenario yang terlihat mundur menggunakannya, misalnya pemecahan masalah, melacak akar penyebab dalam alur ML, dan penelusuran kesalahan. Analisis kualitas data, kepatuhan, dan skenario "bagaimana jika" juga menggunakan silsilah data. Silsilah diwakili secara visual untuk menampilkan data yang berpindah dari sumber ke tujuan, dan juga mencakup transformasi data. Mengingat kompleksitas sebagian besar lingkungan data perusahaan, tampilan ini dapat menjadi sulit dipahami tanpa konsolidasi atau masking titik data periferal.

Di Azure Pembelajaran Mesin Pipeline, aset data Anda memperlihatkan asal data dan bagaimana data diproses, misalnya:

Screenshot showing data lineage in the job details.

Anda dapat melihat pekerjaan yang menggunakan aset data di UI Studio. Pertama, pilih Data dari menu sebelah kiri, lalu pilih nama aset data. Anda dapat melihat pekerjaan yang menggunakan aset data:

Screenshot that shows the jobs that consume a data asset.

Tampilan pekerjaan dalam Aset data memudahkan untuk menemukan kegagalan pekerjaan dan melakukan analisis penyebab rute di alur dan penelusuran kesalahan ML Anda.

Penandaan aset data

Aset data mendukung pemberian tag, yang merupakan metadata tambahan yang diterapkan ke aset data dalam bentuk pasangan kunci-nilai. Pemberian tag data memberikan banyak manfaat:

  • Deskripsi kualitas data. Misalnya, jika organisasi Anda menggunakan arsitektur medallion lakehouse, Anda dapat menandai aset dengan medallion:bronze (mentah), medallion:silver (divalidasi) dan medallion:gold (diperkaya).
  • Menyediakan pencarian dan pemfilteran data yang efisien, untuk membantu penemuan data.
  • Membantu mengidentifikasi data pribadi sensitif, untuk mengelola dan mengatur akses data dengan benar. Contohnya, sensitivity:PII/sensitivity:nonPII.
  • Identifikasi apakah data disetujui dari audit AI (RAI) yang bertanggung jawab. Contohnya, RAI_audit:approved/RAI_audit:todo.

Anda dapat menambahkan tag ke aset data sebagai bagian dari alur pembuatannya, atau Anda dapat menambahkan tag ke aset data yang ada. Bagian ini memperlihatkan keduanya.

Menambahkan tag sebagai bagian dari alur pembuatan aset data

Buat file YAML, dan salin dan tempel kode berikut. Anda harus memperbarui <> tempat penampung dengan nama aset data Anda, versi, deskripsi, tag (pasangan kunci-nilai) dan jalur ke satu file di lokasi yang didukung.

$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>

Selanjutnya, jalankan perintah berikut di CLI (perbarui <filename> tempat penampung ke nama file YAML):

az ml data create -f <filename>.yml

Menambahkan tag ke aset data yang sudah ada

Jalankan perintah berikut di Azure CLI, dan perbarui <> tempat penampung dengan nama aset data, versi, dan pasangan kunci-nilai Anda untuk tag.

az ml data update --name <DATA ASSET NAME> --version <VERSION> --set tags.<KEY>=<VALUE>

Praktik terbaik penerapan versi

Biasanya, proses ETL Anda mengatur struktur folder Anda di penyimpanan Azure berdasarkan waktu, misalnya:

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

Kombinasi folder terstruktur waktu/versi dan Azure Pembelajaran Mesin Tables (MLTable) memungkinkan Anda membuat himpunan data versi. Untuk menunjukkan cara mencapai data versi dengan Azure Pembelajaran Mesin Tables, kami menggunakan contoh hipotetis. Misalkan Anda memiliki proses yang mengunggah gambar kamera ke penyimpanan Azure Blob setiap minggu, dalam struktur berikut:

/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

Catatan

Meskipun kami menunjukkan cara membuat versi data gambar (jpeg), metodologi yang sama dapat diterapkan ke jenis file apa pun (misalnya, Parquet, CSV).

Dengan Azure Pembelajaran Mesin Tables (mltable), Anda membuat Tabel jalur yang menyertakan data hingga akhir minggu pertama pada tahun 2023, lalu membuat aset data:

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)

Pada akhir minggu berikutnya, ETL Anda telah memperbarui data untuk menyertakan lebih banyak data:

/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

Versi pertama Anda (20230108) terus hanya memasang/mengunduh file dari year=2022/week=52 dan year=2023/week=1 karena jalur dideklarasikan dalam MLTable file. Ini memastikan reproduksi untuk eksperimen Anda. Untuk membuat versi baru aset data yang menyertakan year=2023/week2, Anda akan menggunakan:

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)

Anda sekarang memiliki dua versi data, di mana nama versi sesuai dengan tanggal gambar diunggah ke penyimpanan:

  1. 20230108: Gambar hingga 2023-Jan-08.
  2. 20230115: Gambar hingga 2023-Jan-15.

Dalam kedua kasus, MLTable membuat tabel jalur yang hanya menyertakan gambar hingga tanggal tersebut.

Dalam pekerjaan Azure Pembelajaran Mesin Anda dapat memasang atau mengunduh jalur tersebut di MLTable versi ke target komputasi eval_download Anda menggunakan mode atau eval_mount :

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)

Catatan

eval_mount Mode dan eval_download unik untuk MLTable. Dalam hal ini, kemampuan runtime data AzureML mengevaluasi file dan memasang jalur pada target komputasi MLTable .

Langkah berikutnya