Tahmin API 'sini çağırma
Modelinizi eğittikten sonra, görüntüleri bir tahmin API uç noktasına göndererek programlı bir şekilde test edebilirsiniz. Bu kılavuzda, bir görüntüyü öğrenmek için tahmin API 'sini çağırmayı öğreneceksiniz. Bu API 'nin davranışını gereksinimlerinizi karşılayacak şekilde yapılandırabileceğiniz farklı yollar öğreneceksiniz.
Not
Bu belge, bir görüntüyü tahmin API 'sine göndermek Için C# için .NET istemci kitaplığı 'nın kullanımını gösterir. Daha fazla bilgi ve örnek için bkz. tahmin API 'si başvurusu.
Kurulum
Eğitilen yinelelerinizi yayımlayın
Özel Görüntü İşleme web sayfasından projenizi ve Performans sekmesini seçin.
Tahmin API 'sine görüntü göndermek için öncelikle, Yayımla ' yı seçerek ve yayımlanan yineleme için bir ad belirterek, yinelemeyi tahmin etmek üzere yayımlamanız gerekir. Bu, modelinizi Özel Görüntü İşleme Azure kaynağınızın tahmin API 'SI için erişilebilir hale getirir.

Modelinize başarıyla yayımlandıktan sonra, sol taraftaki kenar çubuğundan yineleinizin yanında "yayımlandı" etiketini görürsünüz ve bu adın adı yinelemenin açıklamasında görüntülenir.

URL ve tahmin anahtarını alma
Modeliniz yayımlandıktan sonra, tahmin URL 'sini seçerek gerekli bilgileri alabilirsiniz. Bu, tahmin URL 'si ve tahmin anahtarı da dahil olmak üzere, tahmin API 'si kullanımıyla ilgili bilgileri içeren bir iletişim kutusu açar.


Verileri hizmete gönder
Bu kılavuzda predictionClient , özel görüntü işleme tahmin anahtarınız ve uç nokta URL 'niz Ile adlı bir CustomVisionPredictionClient nesnesini zaten oluşturduğunuzu varsaymış olursunuz. Bu özelliği ayarlama hakkında yönergeler için hızlıbaşlangıçlardan birini izleyin.
Bu kılavuzda yerel bir görüntü kullanacaksınız, böylece eğitilen modelinize göndermek istediğiniz bir görüntüyü indirebilirsiniz. Aşağıdaki kod, kullanıcıdan bir yerel yol belirtmesini ve bu yoldaki dosyanın bytestream 'ni almasını ister.
Console.Write("Enter image file path: ");
string imageFilePath = Console.ReadLine();
byte[] byteData = GetImageAsByteArray(imageFilePath);
Aşağıdaki yardımcı yöntemi ekleyin:
private static byte[] GetImageAsByteArray(string imageFilePath)
{
FileStream fileStream = new FileStream(imageFilePath, FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream);
return binaryReader.ReadBytes((int)fileStream.Length);
}
ClassifyImageAsync yöntemi, proje kimliğini ve yerel olarak depolanan görüntüyü alır ve görüntüyü verilen modele göre puan kazanır.
// Make a prediction against the new project
Console.WriteLine("Making a prediction:");
var result = predictionApi.ClassifyImageAsync(project.Id, publishedModelName, byteData);
Verilerin nasıl işleyeceğini belirleme
İsteğe bağlı olarak, alternatif yöntemler seçerek hizmetin Puanlama işlemini nasıl kullandığını yapılandırabilirsiniz ( CustomVisionPredictionClient sınıfının yöntemlerine bakın).
Basitlik için, metodun zaman uyumsuz bir sürümünü kullanabilirsiniz, ancak programın fark edilebilir bir süre için kilitlenmesine neden olabilir.
-Withnostore yöntemleri, tahmin tamamlandıktan sonra hizmetin tahmin görüntüsünü korumasını gerektirmez. Normalde, hizmet bu görüntüleri korur, böylece modellerinizin gelecekteki yinelemeleri için eğitim verileri olarak onları ekleme seçeneğiniz vardır.
-Withhttpmessages YÖNTEMLERI, API ÇAĞRıSıNıN ham HTTP yanıtını döndürür.
Hizmetten sonuçları al
Hizmet sonuçları bir ımagetahmin nesnesi biçiminde döndürür. Predictions özelliği, her biri tek bir nesne tahminini temsil eden bir PredictionModel nesneleri listesi içerir. Bu, etiketin adını ve nesnenin görüntüde algıladığı sınırlama kutusu koordinatlarını içerir. Uygulamanız daha sonra bu verileri ' de ayrıştırarak, örneğin, görüntüyü bir ekran üzerinde etiketli nesne alanlarıyla birlikte görüntüleyebilirsiniz.
Sonraki adımlar
Bu kılavuzda, görüntüleri özel görüntü sınıflandırıcıya/algılayıcısının nasıl göndereceğini ve C# SDK ile programlı bir şekilde yanıt almanızı öğrendiniz. Daha sonra, C# ile uçtan uca senaryoları tamamlamayı veya farklı bir dil SDK 'sını kullanmaya başlamanızı öğrenin.