Mengelola ruang kerja Azure Pembelajaran Mesin dengan Python SDK (v1)
BERLAKU UNTUK: Python SDK 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
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning sekarang.
- Jika menggunakan SDK Python, instal SDK.
Batasan
Saat membuat ruang kerja baru, Anda dapat secara otomatis membuat layanan yang diperlukan oleh ruang kerja atau menggunakan layanan yang 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, jika Anda membuat ruang kerja di langganan A yang menggunakan akun penyimpanan di langganan B, namespace Azure Pembelajaran Mesin harus terdaftar di langganan B sebelum ruang kerja dapat menggunakan akun penyimpanan.
Penyedia sumber daya untuk Pembelajaran Mesin Azure adalah Microsoft.MachineLearningServices. Untuk informasi tentang melihat apakah terdaftar atau mendaftarkannya, lihat Penyedia dan jenis sumber daya Azure.
Penting
Informasi ini hanya berlaku untuk sumber daya yang disediakan selama pembuatan ruang kerja: Akun Azure Storage, Azure Container Registry, 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, satu-satunya cara untuk membuatnya kembali adalah dengan menghapus dan membuat ulang ruang kerja.
Untuk informasi selengkapnya tentang menggunakan instans Application Insights, 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 bernamamyresourcegroup
dieastus2
.BERLAKU UNTUK: Python SDK 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: Python SDK 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: Python SDK 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 )
Untuk informasi lebih lanjut, lihat Referensi SDK Ruang Kerja.
Jika Anda mengalami masalah dalam mengakses langganan Anda, lihat Menyiapkan autentikasi untuk sumber daya dan alur kerja Azure Pembelajaran Mesin, dan Autentikasi di buku catatan azure Pembelajaran Mesin.
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 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: Python SDK 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 membaca konten file konfigurasi untuk menemukan ruang kerja Anda. Anda mendapatkan permintaan untuk masuk jika Anda belum diautentikasi.
BERLAKU UNTUK: Python SDK 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: Python SDK 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: Python SDK 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 Anda, lihat Menyiapkan autentikasi untuk sumber daya dan alur kerja Azure Pembelajaran Mesin, dan Autentikasi di buku catatan azure Pembelajaran Mesin.
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: Python SDK 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: Python SDK 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:
Dari portal Microsoft Azure, pilih Grup sumber daya dari sisi sebelah kiri.
Dari daftar, pilih grup sumber daya yang Anda buat.
Pilih Hapus grup sumber daya.
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 hapus. Melakukannya akan merusak ruang kerja Azure Pembelajaran Mesin 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.
Jika Anda perlu memindahkan ruang kerja ke langganan Azure baru, lihat Cara memindahkan ruang kerja.
Untuk menemukan ruang kerja, lihat Menelusuri aset Azure Machine Learning (pratinjau).
Untuk informasi tentang cara menjaga Azure Pembelajaran Mesin Anda tetap terbarui dengan pembaruan keamanan terbaru, lihat Manajemen kerentanan.