Mengekspor model secara terprogram

Semua opsi ekspor yang tersedia di situs web Custom Vision juga tersedia secara terprogram melalui pustaka klien. Anda mungkin ingin menggunakan pustaka klien sehingga Anda dapat sepenuhnya mengotomatiskan proses pelatihan ulang dan memperbarui iterasi model yang Anda gunakan di perangkat lokal.

Panduan ini menunjukkan cara mengekspor model Anda ke file ONNX dengan SDK Python.

Membuat pelatihan klien

Anda membutuhkan objek CustomVisionTrainingClient untuk mengekspor perulangan model. Buat variabel untuk sumber daya pelatihan Custom Vision titik akhir Azure dan kunci, dan gunakan untuk membuat objek klien.

ENDPOINT = "PASTE_YOUR_CUSTOM_VISION_TRAINING_ENDPOINT_HERE"
training_key = "PASTE_YOUR_CUSTOM_VISION_TRAINING_KEY_HERE"

credentials = ApiKeyCredentials(in_headers={"Training-key": training_key})
trainer = CustomVisionTrainingClient(ENDPOINT, credentials)

Penting

Ingatlah untuk menghapus kunci dari kode setelah selesai dan jangan pernah mempostingnya secara publik. Untuk produksi, pertimbangkan penggunaan cara aman untuk menyimpan dan mengakses informasi masuk Anda. Untuk informasi selengkapnya, lihat artikel keamanan layanan Azure AI.

Memanggil metode ekspor

Menggunakan metode perulangan_ekspor

  • Berikan ID proyek, ID perulangan dari model yang ingin Anda ekspor.
  • Parameter platform menentukan platform yang diekspor menjadi: nilai yang diizinkan adalah CoreML, TensorFlow, DockerFile, ONNX, VAIDK, dan OpenVino.
  • Jenis parameter menentukan format dari model yang diekspor: nilai yang diizinkan adalah Linux, Windows, ONNX10, ONNX12, ARM, TensorFlowNormal,dan TensorFlowLite.
  • Parameter mentah memberi Anda pilihan untuk mengambil respons JSON mentah bersama dengan respons model objek.
project_id = "PASTE_YOUR_PROJECT_ID"
iteration_id = "PASTE_YOUR_ITERATION_ID"
platform = "ONNX"
flavor = "ONNX10"
export = trainer.export_iteration(project_id, iteration_id, platform, flavor, raw=False)

Untuk informasi selengkapnya, lihat metode perulangan_ekspor.

Penting

Jika Anda telah mengekspor perulangan tertentu, Anda tidak dapat memanggil metode export_iteration kembali. Sebagai gantinya, lewati ke panggilan metode get_exports untuk mendapatkan link ke model yang sudah diekspor yang ada.

Mengunduh model yang diekspor

Selanjutnya, Anda akan menggunakan metode dapatkan_ekspor untuk melihat status operasi ekspor. Operasi berjalan secara asinkron, jadi Anda harus melakukan pengumpulan metode ini sampai operasi selesai. Setelah selesai, Anda dapat mengambil URI yang dapat Anda gunakan untuk mengunduh perulangan model ke perangkat Anda.

while (export.status == "Exporting"):
    print ("Waiting 10 seconds...")
    time.sleep(10)
    exports = trainer.get_exports(project_id, iteration_id)
    # Locate the export for this iteration and check its status  
    for e in exports:
        if e.platform == export.platform and e.flavor == export.flavor:
            export = e
            break
    print("Export status is: ", export.status)

Untuk informasi lebih lanjut, lihat metode dapatkan_ekspor.

Kemudian, Anda dapat secara terprogram mengunduh model yang diekspor ke lokasi di perangkat Anda.

if export.status == "Done":
    # Success, now we can download it
    export_file = requests.get(export.download_uri)
    with open("export.zip", "wb") as file:
        file.write(export_file.content)

Langkah berikutnya

Integrasikan model yang diekspor ke dalam aplikasi dengan menjelajahi salah satu artikel atau sampel berikut: