Mengelola ruang kerja Azure Pembelajaran Mesin dengan Python SDK (v1)

BERLAKU UNTUK:SDK Python azureml v1

Dalam artikel ini, Anda membuat, menampilkan, dan menghapus ruang kerja Azure Pembelajaran Mesin untuk Azure Pembelajaran Mesin, menggunakan SDK untuk Python.

Seiring kebutuhan Anda berubah atau persyaratan untuk otomatisasi meningkat, Anda juga dapat mengelola ruang kerja menggunakan CLI, atau melalui ekstensi Visual Studio Code.

Prasyarat

Batasan

  • Saat membuat ruang kerja baru, Anda dapat membuat layanan yang diperlukan secara otomatis oleh ruang kerja atau menggunakan layanan yang sudah ada. Jika Anda ingin menggunakan layanan yang sudah ada dari langganan Azure yang berbeda dari ruang kerja, Anda harus mendaftarkan kumpulan nama Pembelajaran Mesin Azure dalam langganan yang berisi layanan tersebut. Misalnya, membuat ruang kerja di langganan A yang menggunakan akun penyimpanan dari langganan B, kumpulan nama Pembelajaran Mesin Azure harus terdaftar di langganan B sebelum Anda dapat menggunakan akun penyimpanan dengan ruang kerja.

    Penyedia sumber daya untuk Pembelajaran Mesin Azure adalah Microsoft.MachineLearningServices. Untuk informasi tentang cara melihat apakah sudah terdaftar dan cara mendaftarkannya, lihat artikel jenis dan penyedia sumber daya Azure.

    Penting

    Ini hanya berlaku untuk sumber daya yang disediakan selama pembuatan ruang kerja, Azure Storage Account, Azure Container Register, Azure Key Vault, dan Application Insights.

  • Secara default, membuat ruang kerja juga membuat Azure Container Registry (ACR). Karena ACR saat ini tidak mendukung karakter unicode dalam nama grup sumber daya, gunakan grup sumber daya yang tidak berisi karakter ini.

  • Azure Pembelajaran Mesin tidak mendukung namespace hierarkis (fitur Azure Data Lake Storage Gen2) untuk akun penyimpanan default ruang kerja.

Tip

Instans Azure Application Insights dibuat saat Anda membuat ruang kerja. Anda dapat menghapus instans Application Insights setelah pembuatan kluster jika Anda mau. Menghapusnya membatasi informasi yang dikumpulkan dari ruang kerja, dan mungkin membuatnya lebih sulit untuk memecahkan masalah. Jika Anda menghapus instans Application Insights yang dibuat oleh ruang kerja, Anda tidak dapat membuatnya kembali tanpa menghapus dan membuat ulang ruang kerja.

Untuk informasi selengkapnya tentang penggunaan instans Application Insights ini, lihat Memantau dan mengumpulkan data dari titik akhir layanan web Pembelajaran Mesin.

Membuat ruang kerja

Anda dapat membuat ruang kerja secara langsung di studio Azure Machine Learning, dengan opsi terbatas yang tersedia. Atau, gunakan salah satu metode di bawah ini untuk kontrol opsi lainnya.

  • Spesifikasi default. Secara default, sumber daya dependen serta grup sumber daya akan dibuat secara otomatis. Kode ini membuat ruang kerja bernama myworkspace dan grup sumber daya bernama myresourcegroup di eastus2.

    BERLAKU UNTUK:SDK Python azureml v1

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Setel create_resource_group ke False jika Anda memiliki grup sumber daya Azure yang ingin Anda gunakan untuk ruang kerja.

  • Beberapa penyewa. Jika Anda memiliki beberapa akun, tambahkan ID penyewa ID Microsoft Entra yang ingin Anda gunakan. Temukan ID penyewa Anda dari portal Azure di bawah ID Microsoft Entra, Identitas Eksternal.

    BERLAKU UNTUK:SDK Python azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Sovereign cloud. Anda memerlukan kode tambahan untuk mengautentikasi ke Azure jika Anda bekerja di sovereign cloud.

    BERLAKU UNTUK:SDK Python azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Gunakan sumber daya Azure yang sudah ada. Anda juga dapat membuat ruang kerja yang menggunakan sumber daya Azure yang ada dengan format ID sumber daya Azure. Temukan ID sumber daya Azure tertentu di portal Azure atau dengan SDK. Contoh ini mengasumsikan bahwa grup sumber daya, akun penyimpanan, brankas kunci, Insights Aplikasi, dan registri kontainer sudah ada.

    BERLAKU UNTUK:SDK Python azureml v1

    import os
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    service_principal_password = os.environ.get("AZUREML_PASSWORD")
    
    service_principal_auth = ServicePrincipalAuthentication(
        tenant_id="<tenant-id>",
        username="<application-id>",
        password=service_principal_password)
    
                          auth=service_principal_auth,
                               subscription_id='<azure-subscription-id>',
                               resource_group='myresourcegroup',
                               create_resource_group=False,
                               location='eastus2',
                               friendly_name='My workspace',
                               storage_account='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.storage/storageaccounts/mystorageaccount',
                               key_vault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault',
                               app_insights='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.insights/components/myappinsights',
                               container_registry='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.containerregistry/registries/mycontainerregistry',
                               exist_ok=False)
    

Untuk informasi lebih lanjut, lihat Referensi SDK Ruang Kerja.

Jika Anda mengalami masalah dalam mengakses langganan, lihat Menyiapkan autentikasi untuk sumber daya dan alur kerja Azure Machine Learning, serta buku catatan Autentikasi di Azure Machine Learning.

Jaringan

Penting

Untuk informasi selengkapnya tentang menggunakan titik akhir privat dan jaringan virtual dengan ruang kerja Anda, lihat Isolasi jaringan dan privasi.

Azure Machine Learning Python SDK menyediakan kelas PrivateEndpointConfig, yang dapat digunakan dengan Workspace.create() untuk membuat ruang kerja dengan titik akhir privat. Kelas ini memerlukan jaringan virtual yang ada.

Lanjutan

Secara default, metadata untuk ruang kerja disimpan dalam instans Azure Cosmos DB yang dikelola Microsoft. Data ini dienkripsi menggunakan kunci terkelola Microsoft.

Untuk membatasi data yang dikumpulkan Microsoft di ruang kerja Anda, pilih Ruang kerja berdampak bisnis tinggi di portal, atau atur hbi_workspace=true dengan Python. Untuk informasi selengkapnya tentang setelan ini, lihat Enkripsi saat tidak aktif.

Penting

Memilih dampak bisnis yang tinggi hanya dapat dilakukan saat membuat ruang kerja. Anda tidak dapat mengubah pengaturan ini setelah pembuatan ruang kerja.

Menggunakan kunci enkripsi data Anda sendiri

Anda dapat menyediakan kunci Anda sendiri untuk enkripsi data. Melakukannya akan membuat instans Azure Cosmos DB yang menyimpan metadata di langganan Azure Anda. Untuk informasi selengkapnya, lihat Kunci yang dikelola pelanggan untuk Azure Pembelajaran Mesin.

Gunakan langkah-langkah berikut untuk menyediakan kunci Anda sendiri:

Penting

Sebelum mengikuti langkah-langkah ini, Anda harus terlebih dahulu melakukan tindakan berikut:

Ikuti langkah-langkah di Mengonfigurasi kunci yang dikelola pelanggan untuk:

  • Daftarkan penyedia Azure Cosmos DB
  • Buat dan konfigurasikan Azure Key Vault
  • Membuat kunci

Gunakan cmk_keyvault dan resource_cmk_uri untuk menentukan kunci terkelola pelanggan.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Mengunduh file konfigurasi

Jika Anda akan menggunakan instans komputasi di ruang kerja untuk menjalankan kode Anda, lewati langkah ini. Instans komputasi akan membuat dan menyimpan salinan file ini untuk Anda.

Jika Anda berencana untuk menggunakan kode di lingkungan lokal Anda yang mereferensikan ruang kerja ini (ws), tulis file konfigurasi:

BERLAKU UNTUK:SDK Python azureml v1

ws.write_config()

Tempatkan file ke dalam struktur direktori dengan skrip Python atau Jupyter Notebooks Anda. Itu bisa di direktori yang sama, subdirektori bernama .azureml, atau di direktori induk. Saat Anda membuat instans komputasi, file ini ditambahkan ke direktori yang benar di VM untuk Anda.

Sambungkan ke ruang kerja

Dalam kode Python Anda, buat objek ruang kerja untuk terhubung ke ruang kerja Anda. Kode ini akan membaca konten file konfigurasi untuk menemukan ruang kerja Anda. Anda akan mendapatkan permintaan untuk masuk jika Anda belum diautentikasi.

BERLAKU UNTUK:SDK Python azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
  • Beberapa penyewa. Jika Anda memiliki beberapa akun, tambahkan ID penyewa ID Microsoft Entra yang ingin Anda gunakan. Temukan ID penyewa Anda dari portal Azure di bawah ID Microsoft Entra, Identitas Eksternal.

    BERLAKU UNTUK:SDK Python azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Sovereign cloud. Anda memerlukan kode tambahan untuk mengautentikasi ke Azure jika Anda bekerja di sovereign cloud.

    BERLAKU UNTUK:SDK Python azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Jika Anda mengalami masalah dalam mengakses langganan, lihat Menyiapkan autentikasi untuk sumber daya dan alur kerja Azure Machine Learning, serta buku catatan Autentikasi di Azure Machine Learning.

Menemukan ruang kerja

Lihat daftar semua ruang kerja yang dapat Anda gunakan.

Temukan langganan Anda di laman Langganan di portal Azure. Salin ID dan gunakan dalam kode di bawah ini untuk melihat semua ruang kerja yang tersedia untuk langganan tersebut.

BERLAKU UNTUK:SDK Python azureml v1

from azureml.core import Workspace

Workspace.list('<subscription-id>')

Metode Workspace.list(..) tidak mengembalikan objek ruang kerja lengkap. Ini hanya mencakup informasi dasar tentang ruang kerja yang ada dalam langganan. Untuk mendapatkan objek lengkap untuk ruang kerja tertentu, gunakan Workspace.get(..).

Hapus ruang kerja

Saat Anda tidak lagi membutuhkan ruang kerja, hapus ruang kerja tersebut.

Peringatan

Jika penghapusan sementara diaktifkan untuk ruang kerja, penghapusan dapat dipulihkan setelah penghapusan. Jika penghapusan sementara tidak diaktifkan, atau Anda memilih opsi untuk menghapus ruang kerja secara permanen, itu tidak dapat dipulihkan. Untuk informasi selengkapnya, lihat Memulihkan ruang kerja yang dihapus.

Tip

Perilaku default untuk Azure Pembelajaran Mesin adalah menghapus sementara ruang kerja. Ini berarti bahwa ruang kerja tidak segera dihapus, tetapi sebaliknya ditandai untuk penghapusan. Untuk informasi selengkapnya, lihat Penghapusan sementara.

Hapus ruang kerja ws:

BERLAKU UNTUK:SDK Python azureml v1

ws.delete(delete_dependent_resources=False, no_wait=False)

Tindakan default bukan menghapus sumber daya yang terkait dengan ruang kerja, yaitu, registri kontainer, akun penyimpanan, brankas kunci, dan wawasan aplikasi. Setel delete_dependent_resources ke True untuk menghapus sumber daya ini juga.

Membersihkan sumber daya

Penting

Sumber daya yang Anda buat sebagai prasyarat untuk tutorial dan artikel cara penggunaan Azure Machine Learning lainnya.

Jika Anda tidak berencana menggunakan sumber daya yang sudah Anda buat, hapus sehingga Anda tidak dikenakan biaya apa pun:

  1. Dari portal Microsoft Azure, pilih Grup sumber daya dari sisi sebelah kiri.

  2. Dari daftar, pilih grup sumber daya yang Anda buat.

  3. Pilih Hapus grup sumber daya.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Masukkan nama grup sumber daya. Kemudian pilih Hapus.

Pemecahan Masalah

  • Browser yang didukung di studio Azure Machine Learning: Kami menyarankan Anda menggunakan browser terbaru yang kompatibel dengan sistem operasi Anda. Browser berikut didukung:

    • Microsoft Edge (Microsoft Edge baru, versi terbaru. Bukan Microsoft Edge warisan)
    • Safari (versi terbaru, hanya Mac)
    • Chrome (versi terbaru)
    • Firefox (versi terbaru)
  • portal Azure:

    • Jika Anda langsung membuka ruang kerja dari tautan berbagi dari SDK atau portal Azure, Anda tidak dapat melihat laman Ringkasan standar yang memiliki informasi langganan di ekstensi. Dalam skenario ini, Anda juga tidak dapat beralih ke ruang kerja lain. Untuk melihat ruang kerja lain, langsung buka studio Azure Machine Learning dan telusuri nama ruang kerja.
    • Semua aset (Data, Eksperimen, Komputasi, dan seterusnya) hanya tersedia di Studio Azure Machine Learning. Mereka tidak tersedia dari portal Azure.
    • Mencoba mengekspor templat untuk ruang kerja dari portal Microsoft Azure dapat menghasilkan kesalahan yang mirip dengan teks berikut: Could not get resource of the type <type>. Resources of this type will not be exported. Sebagai solusinya, gunakan salah satu templat yang disediakan di https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices sebagai dasar templat Anda.

Diagnostik ruang kerja

Anda dapat menjalankan diagnostik di ruang kerja dari studio Azure Machine Learning atau SDK Python. Setelah diagnostik berjalan, daftar masalah yang terdeteksi dikembalikan. Daftar ini mencakup tautan ke solusi yang memungkinkan. Untuk informasi lebih lanjut, lihat Cara menggunakan diagnostik ruang kerja.

Kesalahan penyedia sumber daya

Saat membuat ruang kerja Azure Machine Learning, atau sumber daya yang digunakan oleh ruang kerja, Anda mungkin menerima kesalahan yang mirip dengan pesan berikut:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Sebagian besar penyedia sumber daya secara otomatis terdaftar, tetapi tidak semua. Jika Anda menerima pesan ini, Anda perlu mendaftarkan penyedia yang disebutkan.

Tabel berikut berisi daftar penyedia sumber daya yang diperlukan oleh Azure Machine Learning:

Penyedia sumber daya Mengapa dibutuhkan
Microsoft.MachineLearningServices Membuat ruang kerja Azure Machine Learning.
Microsoft.Storage Akun Azure Storage: Digunakan sebagai penyimpanan data default untuk ruang kerja.
Microsoft.ContainerRegistry Azure Container Registry digunakan oleh ruang kerja untuk membangun gambar Docker.
Microsoft.KeyVault Azure Key Vault digunakan oleh ruang kerja untuk menyimpan rahasia.
Microsoft.Notebooks Notebook terintegrasi pada instans komputasi Azure Machine Learning.
Microsoft.ContainerService Jika Anda berencana menyebarkan model terlatih ke Azure Kubernetes Services.

Jika Anda berencana menggunakan kunci yang dikelola pelanggan dengan Azure Machine Learning, maka penyedia layanan berikut harus terdaftar:

Penyedia sumber daya Mengapa dibutuhkan
Microsoft.DocumentDB Instans Azure CosmosDB yang mencatat metadata untuk ruang kerja.
Microsoft.Search Azure Search menyediakan kemampuan pengindeksan untuk ruang kerja.

Jika Anda berencana menggunakan jaringan virtual terkelola dengan Azure Pembelajaran Mesin, penyedia sumber daya Microsoft.Network harus didaftarkan. Penyedia sumber daya ini digunakan oleh ruang kerja saat membuat titik akhir privat untuk jaringan virtual terkelola.

Untuk informasi selengkapnya tentang cara mendaftarkan penyedia sumber daya, lihat Mengatasi kesalahan untuk pendaftaran penyedia sumber daya.

Menghapus Azure Container Registry

Ruang kerja Azure Machine Learning menggunakan Azure Container Registry (ACR) untuk beberapa operasi. Ini akan secara otomatis membuat instans ACR ketika pertama kali membutuhkannya.

Peringatan

Setelah Azure Container Registry dibuat untuk ruang kerja, jangan dihapus. Menghapusnya akan merusak ruang kerja Pembelajaran Mesin Microsoft Azure Anda.

Langkah berikutnya

Setelah Anda memiliki ruang kerja, pelajari cara Melatih dan menyebarkan model.

Untuk mempelajari lebih lanjut tentang merencanakan ruang kerja untuk kebutuhan organisasi Anda, lihat Mengatur dan menyiapkan Azure Machine Learning.

Untuk informasi tentang cara menjaga Azure Pembelajaran Mesin Anda tetap terbarui dengan pembaruan keamanan terbaru, lihat Manajemen kerentanan.