Tutorial: Mulai menggunakan skrip Python di Azure Machine Learning (SDK v1, bagian 1 dari 3)
BERLAKU UNTUK:SDK Python azureml v1
Dalam tutorial ini, Anda menjalankan skrip Python pertama Anda di cloud dengan Azure Machine Learning. Tutorial ini adalah bagian 1 dari seri tutorial dua bagian.
Tutorial ini menghindari kompleksitas pelatihan model pembelajaran mesin. Anda akan menjalankan skrip Python "Halo Dunia" di cloud. Anda akan mempelajari bagaimana skrip kontrol digunakan untuk mengonfigurasi dan membuat eksekusi di Azure Pembelajaran Mesin.
Dalam tutorial ini, Anda akan:
- Membuat dan menjalankan skrip Python "Hello world!".
- Membuat skrip kontrol Pyhton untuk mengirimkan "Hello world!" ke Azure Machine Learning.
- Pahami konsep Azure Machine Learning dalam skrip kontrol.
- Mengirim dan menjalankan skrip "Hello world!".
- Melihat output kode Anda di cloud.
Prasyarat
- Selesaikan Buat sumber daya yang Anda butuhkan untuk mulai membuat ruang kerja dan instans komputasi untuk digunakan dalam seri tutorial ini.
-
- Buat kluster komputasi berbasis cloud. Beri nama 'cpu-cluster' agar sesuai dengan kode dalam tutorial ini.
Membuat dan menjalankan skrip Python
Tutorial ini menggunakan instans komputasi sebagai komputer pengembangan Anda. Pertama-tama, buat beberapa folder dan skrip:
- Masuk ke studio Azure Machine Learning dan pilih ruang kerja Anda jika diminta.
- Di sebelah kiri, pilih Notebooks.
- Di toolbar File, pilih +, lalu pilih Buat folder baru.
- Beri nama folder get-started.
- Di sebelah kanan nama folder, gunakan ... untuk membuat folder lain di bawah get-started.
- Beri nama folder src baru. Gunakan tautan Edit lokasi jika lokasi file tidak benar.
- Di sebelah kanan folder src, gunakan ... untuk membuat file baru di folder src.
- Beri nama file hello.py. Alihkan Jenis file ke Python (.py)*.
Salin kode ini ke dalam file Anda:
# src/hello.py
print("Hello world!")
Struktur folder proyek Anda sekarang akan terlihat seperti:
Menguji skrip Anda
Anda dapat menjalankan kode secara lokal, yang dalam hal ini berarti pada instans komputasi. Menjalankan kode secara lokal memiliki keuntungan penelusuran kesalahan kode interaktif.
Jika sebelumnya Anda telah menghentikan instans komputasi, mulai sekarang dengan alat Mulai komputasi di sebelah kanan dropdown komputasi. Tunggu sekitar satu menit agar status berubah menjadi Berjalan.
Pilih Simpan dan jalankan skrip di terminal untuk menjalankan skrip.
Anda melihat output skrip di jendela terminal yang terbuka. Tutup tab dan pilih Hentikan untuk menutup sesi.
Membuat skrip kontrol
Skrip kontrol memungkinkan Anda menjalankan skrip hello.py
pada sumber daya komputasi yang berbeda. Anda menggunakan skrip kontrol untuk mengontrol bagaimana dan di mana kode pembelajaran mesin Anda dijalankan.
Pilih ... di akhir folder get-started untuk membuat file baru. Buat file Python yang disebut run-hello.py dan salin/tempel kode berikut ke dalam file tersebut:
# get-started/run-hello.py
from azureml.core import Workspace, Experiment, Environment, ScriptRunConfig
ws = Workspace.from_config()
experiment = Experiment(workspace=ws, name='day1-experiment-hello')
config = ScriptRunConfig(source_directory='./src', script='hello.py', compute_target='cpu-cluster')
run = experiment.submit(config)
aml_url = run.get_portal_url()
print(aml_url)
Tip
Jika Anda menggunakan nama yang berbeda saat membuat kluster komputasi, pastikan untuk menyesuaikan nama dalam kode compute_target='cpu-cluster'
juga.
Memahami kode
Berikut adalah deskripsi tentang cara kerja skrip kontrol:
ws = Workspace.from_config()
Ruang kerja tersambung ke ruang kerja Azure Machine Learning Anda, sehingga Anda dapat berkomunikasi dengan sumber daya Azure Machine Learning Anda.
experiment = Experiment( ... )
Eksperimen menyediakan cara simpel untuk mengelola beberapa pekerjaan dengan satu nama. Nantinya, Anda dapat mengetahui cara eksperimen membandingkan metrik di antara puluhan pekerjaan secara mudah.
config = ScriptRunConfig( ... )
ScriptRunConfig membungkus kode hello.py
Anda dan meneruskannya ke ruang kerja Anda. Seperti namanya, Anda dapat menggunakan kelas ini untuk mengonfigurasi cara Anda ingin skripberjalan di Azure Machine Learning. Ini juga menentukan target komputasi apa yang dijalankan skrip. Dalam kode ini, target adalah kluster komputasi yang Anda buat dalam tutorial pengaturan.
run = experiment.submit(config)
Mengirimkan skrip Anda. Pengiriman ini disebut eksekusi. Di v2, pengiriman ini telah diganti namanya menjadi pekerjaan. Eksekusi/pekerjaan merangkum satu eksekusi kode Anda. Gunakan pekerjaan untuk memantau kemajuan skrip, mencatat output, menganalisis hasil, memvisualisasikan metrik, dan masih banyak lainnya.
aml_url = run.get_portal_url()
Objek run
menyediakan handel pada eksekusi kode Anda. Pantau kemajuannya dari studio Azure Pembelajaran Mesin dengan URL yang mencetak dari skrip Python.
Kirim dan jalankan kode Anda di cloud
Pilih Simpan dan jalankan skrip di terminal untuk menjalankan skrip kontrol Anda, yang pada gilirannya menjalankan
hello.py
pada kluster komputasi yang Anda buat dalam tutorial penyiapan.Di terminal, Anda mungkin diminta untuk masuk untuk mengautentikasi. Salin kode dan ikuti tautan untuk menyelesaikan langkah ini.
Setelah diautentikasi, Anda akan melihat tautan di terminal. Pilih tautan untuk melihat pekerjaan.
Memantau kode Anda di cloud di studio
Output dari skrip Anda berisi tautan ke studio yang terlihat seperti ini: https://ml.azure.com/experiments/hello-world/runs/<run-id>?wsid=/subscriptions/<subscription-id>/resourcegroups/<resource-group>/workspaces/<workspace-name>
.
Ikuti tautan. Pada awalnya, Anda melihat status Antrean atau Persiapan. Proses pertama membutuhkan waktu 5-10 menit untuk diselesaikan. Ini karena hal berikut terjadi:
- Gambar docker dibuat di cloud
- Kluster komputasi diubah ukurannya dari 0 menjadi 1 simpul
- Gambar docker diunduh ke komputasi.
Pekerjaan berikutnya lebih cepat (~15 detik) karena gambar docker di-cache pada komputasi. Anda dapat mengujinya dengan mengirimkan ulang kode di bawah setelah pekerjaan pertama selesai.
Tunggu sekitar 10 menit. Anda melihat pesan bahwa pekerjaan telah selesai. Lalu gunakan Refresh untuk melihat perubahan status menjadi Selesai. Setelah pekerjaan selesai, buka tab Output + log . Di sana Anda dapat melihat std_log.txt
file di user_logs
folder . Output skrip Anda ada dalam file ini.
Folder azureml-logs
dan system-logs
berisi file yang dapat berguna saat Anda men-debug pekerjaan jarak jauh di cloud.
Langkah selanjutnya
Dalam tutorial ini, Anda mengambil skrip "Hello world!" sederhana dan menjalankannya di Azure. Anda melihat cara menyambungkan ke ruang kerja Azure Machine Learning, membuat eksperimen, dan mengirimkan kode hello.py
Anda ke cloud.
Dalam tutorial berikutnya, Anda membuat pembelajaran ini dengan menjalankan sesuatu yang lebih menarik daripada print("Hello world!")
.
Catatan
Jika Anda ingin menyelesaikan seri tutorial sampai di sini dan tidak maju ke langkah berikutnya, ingatlah untuk membersihkan sumber daya Anda.