Menyiapkan lingkungan pengembangan dengan Azure Databricks dan AutoML di Azure Machine Learning
Pelajari cara mengonfigurasi lingkungan pengembangan di Azure Machine Learning yang menggunakan Azure Databricks dan ML otomatis.
Azure Databricks cocok untuk menjalankan alur kerja pembelajaran mesin intensif berskala besar di platform Apache Spark yang dapat diskalakan di Azure cloud. Layanan ini menyediakan lingkungan berbasis Notebook kolaboratif dengan kluster komputasi berbasis CPU atau GPU.
Untuk informasi tentang lingkungan pengembangan pembelajaran mesin lainnya, lihat Menyiapkan lingkungan pengembangan Python.
Prasyarat
Ruang kerja Azure Machine Learning. Untuk membuatnya, gunakan langkah-langkah dalam artikel Membuat sumber daya ruang kerja.
Azure Databricks dengan Azure Machine Learning dan AutoML
Azure Databricks terintegrasi dengan Azure Machine Learning dan kemampuan AutoML-nya.
Anda dapat menggunakan Azure Databricks:
- Untuk melatih model menggunakan Spark MLlib dan menyebarkan model ke ACI/AKS.
- Dengan kemampuan pembelajaran mesin otomatis menggunakan Azure Machine Learning SDK.
- Sebagai target komputasi dari alur Azure Machine Learning.
Menyiapkan kluster Databricks
Buat kluster Databricks. Beberapa pengaturan hanya berlaku jika Anda menginstal SDK untuk pembelajaran mesin otomatis di Databricks.
Perlu waktu beberapa menit untuk membuat kluster tersebut.
Gunakan pengaturan ini:
Pengaturan | Berlaku untuk | Nilai |
---|---|---|
Nama Kluster | selalu | yourclustername |
Versi Runtime Databricks | selalu | 9.1 LTS |
Versi Python | selalu | 3 |
Jenis Pekerja (menentukan jumlah maks. dari perulangan bersamaan) |
ML Otomatis hanya |
VM yang dioptimalkan memori yang lebih disukai |
Pekerja | selalu | 2 atau lebih tinggi |
Mengaktifkan Penskalaan Otomatis | ML Otomatis hanya |
Hapus centang |
Tunggu hingga kluster berjalan sebelum memproses lebih lanjut.
Menambahkan Azure Machine Learning SDK ke Databricks
Setelah kluster berjalan, buat pustaka untuk melampirkan paket Azure Machine Learning SDK yang sesuai ke kluster Anda.
Untuk menggunakan ML otomatis, lewati untuk Menambahkan Azure Machine Learning SDK dengan AutoML.
Klik kanan folder Ruang Kerja saat ini tempat Anda ingin menyimpan pustaka. Pilih Buat>Pustaka.
Tip
Jika Anda memiliki versi SDK lama, hapus pilihan dari pustaka yang diinstal di kluster dan pindah ke keranjang sampah. Instal versi SDK baru dan hidupkan ulang kluster. Jika ada masalah setelah hidupkan ulang, copot dan pasang kembali kluster Anda.
Pilih opsi berikut (tidak ada penginstalan SDK lain yang didukung)
Tambahan paket SDK Sumber Nama PyPi Untuk Databricks Unggah Python Egg atau PyPI azureml-sdk[databricks] Peringatan
Tidak ada tambahan SDK lain yang dapat diinstal. Pilih hanya opsi [
databricks
] .- Jangan pilih Lampirkan secara otomatis ke semua kluster.
- Pilih Lampirkan di samping nama kluster Anda.
Pantau kesalahan hingga status berubah menjadi Terlampir, yang mungkin memakan waktu beberapa menit. Jika langkah ini gagal:
Coba hidupkan ulang kluster Anda dengan:
- Di panel sebelah kiri, pilih Kluster.
- Dalam tabel, pilih nama kluster Anda.
- Di tab Pustaka, Pilih Hidupkan ulang.
Penginstalan yang berhasil terlihat seperti berikut ini:
Menambahkan Azure Machine Learning SDK dengan AutoML ke Databricks
Jika kluster dibuat dengan Databricks Runtime 7.3 LTS (bukan ML), jalankan perintah berikut di sel pertama notebook Anda untuk menginstal Azure Machine Learning SDK.
%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt
Pengaturan konfigurasi AutoML
Di konfigurasi AutoML, saat menggunakan Azure Databricks, tambahkan parameter berikut:
max_concurrent_iterations
didasarkan pada jumlah node pekerja di kluster Anda.spark_context=sc
didasarkan pada konteks spark default.
Notebook ML yang berfungsi dengan Azure Databricks
Coba:
Meskipun banyak notebook sampel yang tersedia, hanya notebook sampel ini yang berfungsi dengan Azure Databricks.
Impor sampel ini langsung dari ruang kerja Anda. Lihat di bawah:
Pelajari cara membuat alur dengan Databricks sebagai komputasi pelatihan.
Pemecahan Masalah
Databricks membatalkan eksekusi pembelajaran mesin otomatis: Saat Anda menggunakan kemampuan pembelajaran mesin otomatis di Azure Databricks, untuk membatalkan eksekusi dan memulai eksperimen baru, hidupkan ulang kluster Azure Databricks Anda.
Databricks >10 perulangan untuk pembelajaran mesin otomatis: Dalam pengaturan pembelajaran mesin otomatis, jika Anda memiliki lebih dari 10 perulangan, atur
show_output
keFalse
saat Anda mengirimkan proses.Widget Databricks untuk Azure Machine Learning SDK dan pembelajaran mesin otomatis: Widget Azure Machine Learning SDK tidak didukung di notebook Databricks karena notebook tidak dapat mengurai widget HTML. Anda dapat menampilkan widget di portal menggunakan kode Python ini di sel notebook Azure Databricks Anda:
displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
Kegagalan saat menginstal paket
Penginstalan Azure Machine Learning SDK gagal pada Azure Databricks ketika lebih banyak paket diinstal. Beberapa paket, seperti
psutil
, dapat menyebabkan konflik. Untuk menghindari kesalahan penginstalan, instal paket dengan membekukan versi pustaka. Masalah ini terkait dengan Databricks dan bukan ke Azure Machine Learning SDK. Anda mungkin juga mengalami masalah ini dengan pustaka lain. Contoh:psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
Atau, Anda dapat menggunakan skrip init jika terus menghadapi masalah instalasi dengan pustaka Python. Pendekatan ini tidak didukung secara resmi. Untuk informasi selengkapnya, lihat Skrip init yang dicakup kluster.
Kesalahan impor: tidak dapat mengimpor nama
Timedelta
daripandas._libs.tslibs
: Jika Anda melihat kesalahan ini saat Anda menggunakan pembelajaran mesin otomatis, jalankan dua baris berikut di notebook Anda:%sh rm -rf /databricks/python/lib/python3.7/site-packages/pandas-0.23.4.dist-info /databricks/python/lib/python3.7/site-packages/pandas %sh /databricks/python/bin/pip install pandas==0.23.4
Kesalahan impor: Tidak ada modul bernama 'pandas.core.indexes' : Jika Anda melihat kesalahan ini saat Anda menggunakan pembelajaran mesin otomatis:
Jalankan perintah ini untuk menginstal dua paket di kluster Azure Databricks Anda:
scikit-learn==0.19.1 pandas==0.22.0
Copot, lalu pasang kembali kluster ke notebook Anda.
Jika langkah ini tidak menyelesaikan masalah, coba hidupkan ulang kluster.
FailToSendFeather: Jika Anda melihat kesalahan
FailToSendFeather
saat membaca data di kluster Azure Databricks, lihat solusi berikut:- Tingkatkan paket
azureml-sdk[automl]
ke versi terbaru. - Tambahkan
azureml-dataprep
versi 1.1.8 atau di atasnya. - Tambahkan
pyarrow
versi 0.11 atau di atasnya.
- Tingkatkan paket
Langkah berikutnya
- Latih dan sebarkan model di Azure Machine Learning dengan himpunan data MNIST.
- Lihat Azure Machine Learning SDK untuk referensi Python.