Modeli program aracılığıyla dışarı aktarma
Özel Görüntü İşleme web sitesinde bulunan tüm dışarı aktarma seçenekleri, istemci kitaplıkları aracılığıyla program aracılığıyla da kullanılabilir. Yerel bir cihazda kullandığınız model yinelemesini yeniden eğitme ve güncelleştirme işlemini tam olarak otomatikleştirmek için istemci kitaplıklarını kullanmak isteyebilirsiniz.
Bu kılavuzda, python SDK'sı ile modelinizi bir ONNX dosyasına nasıl aktarabileceğiniz gösterilmektedir.
Eğitim istemcisi oluşturma
Model yinelemesini dışarı aktarmak için CustomVisionTrainingClient nesnesine sahip olmanız gerekir. Özel Görüntü İşleme eğitim kaynaklarınız için Azure uç noktası ve anahtarları için değişkenler oluşturun ve bunları kullanarak istemci nesnesini oluşturun.
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)
Önemli
İşiniz bittiğinde anahtarları kodunuzdan kaldırmayı unutmayın ve bunları asla herkese açık olarak göndermeyin. Üretim için kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanmayı göz önünde bulundurun. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
Dışarı aktarma yöntemini çağırma
export_iteration yöntemini çağırın.
- Dışarı aktarmak istediğiniz modelin proje kimliğini, yineleme kimliğini belirtin.
- platform parametresi, dışarı aktaracak platformu belirtir: izin verilen değerler :
CoreML
,TensorFlow
,DockerFile
,ONNX
,VAIDK
veOpenVino
. - flavor parametresi dışarı aktarılan modelin biçimini belirtir: izin verilen değerler , ,
ONNX10
Windows
,ONNX12
,ARM
, ,TensorFlowNormal
veTensorFlowLite
değerleridirLinux
. - Raw parametresi, nesne modeli yanıtıyla birlikte ham JSON yanıtını alma seçeneği sunar.
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)
Daha fazla bilgi için bkz . export_iteration yöntemi.
Önemli
Belirli bir yinelemeyi zaten dışarı aktardıysanız, export_iteration yöntemini yeniden çağıramazsınız. Bunun yerine, mevcut dışarı aktarılan modelinizin bağlantısını almak için get_exports yöntemi çağrısına atlayın.
Dışarı aktarılan modeli indirme
Ardından, dışarı aktarma işleminin durumunu denetlemek için get_exports yöntemini çağıracaksınız. İşlem zaman uyumsuz olarak çalıştığından işlem tamamlanana kadar bu yöntemi yoklamanız gerekir. Tamamlandığında, model yinelemesini cihazınıza indirebileceğiniz URI'yi alabilirsiniz.
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)
Daha fazla bilgi için bkz . get_exports yöntemi.
Ardından, dışarı aktarılan modeli program aracılığıyla cihazınızdaki bir konuma indirebilirsiniz.
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)
Sonraki adımlar
Aşağıdaki makalelerden veya örneklerden birini keşfederek dışarı aktarılan modelinizi bir uygulamayla tümleştirin:
- Python ile Tensorflow modelinizi kullanma
- Windows Machine Learning ile ONNX modelinizi kullanma
- Swift ile gerçek zamanlı görüntü sınıflandırması için iOS uygulamasında CoreML modeli örneğine bakın.
- Android'de gerçek zamanlı görüntü sınıflandırması için bir Android uygulamasında Tensorflow modeli örneğine bakın.
- Xamarin iOS uygulamasında gerçek zamanlı görüntü sınıflandırması için Xamarin ile CoreML modeli örneğine bakın.
- Dışarı aktarılan modelin (VAIDK/OpenVino) nasıl kullanılacağına ilişkin örneğe bakın