Windows ML API'leri

Kavramsal rehberlik için bkz. Windows ML ile ONNX modellerini çalıştırma).

Microsoft.WindowsAppSDK.ML NuGet paketindeki API'leri şu iki kümenin üst kümesi olarak düşünebilirsiniz:

Microsoft.WindowsAppSDK.ML NuGet paketi

Microsoft Windows ML çalışma zamanı, Windows uygulamalarında makine öğrenmesi ve yapay zeka işlemleri için API'ler sağlar. Microsoft.WindowsAppSDK.ML NuGet paketi, hem C# hem de C++ projelerinde kullanılmak üzere Windows ML çalışma zamanı .winmd dosyalarını sağlar.

pywinrt Python tekerlekleri

Microsoft Windows ML çalışma zamanı, aynı Windows ML API'lerine Python erişimi sağlamak için pywinrt projesinden yararlanıyor. Paket adı winui3-Microsoft.Windows.AI.MachineLearning şeklindedir. Python'da Windows Uygulama SDK'sını kullanmak için ek paketler gerekir. Ayrıntılar için Windows ML ile ONNX modellerini çalıştırma konusuna bakın.

Windows ML API'leri

API başvurusu belgeleri ve kod örnekleri için bkz . Microsoft.Windows.AI.MachineLearning ad alanı.

Uygulama notları

Windows ML çalışma zamanı, Windows Uygulama SDK'sı ile tümleşiktir ve dağıtım ve önyükleme mekanizmalarına dayanır:

  • Geçerli donanımla uyumlu yürütme sağlayıcılarını otomatik olarak bulur
  • Paket ömrünü ve güncelleştirmelerini yönetir
  • Paket kaydını ve etkinleştirmeyi işler
  • Yürütme sağlayıcılarının farklı sürümlerini destekler

Çerçeveye bağımlı dağıtım

Windows ML, çerçeveye bağımlı bir bileşen olarak sunulur. Bu, uygulamanızın aşağıdakilerden birini yapması gerektiği anlamına gelir:

  • Ana Windows Uygulama SDK'sı NuGet paketine başvurmak için Microsoft.WindowsAppSDK (önerilen) bir başvuru ekleyin
  • Ya da hem Microsoft.WindowsAppSDK.ML hem de Microsoft.WindowsAppSDK.Runtime

Windows Uygulama SDK'sı uygulamalarını dağıtma hakkında daha fazla bilgi için Windows uygulamalarını paketleme ve dağıtma belgelerine bakın.

Windows ML ile ONNX Çalışma Zamanı Kullanma

C++ uygulamaları için, yürütme sağlayıcılarını kaydettikten sonra oturumlar oluşturmak ve çıkarım çalıştırmak için doğrudan ONNX Çalışma Zamanı C API'sini kullanın.

C# uygulamalarında çıkarım için Microsoft.ML.OnnxRuntime ad alanını kullanarak doğrudan ONNX Runtime'ı kullanın.

Python uygulamaları için çıkarım için ONNX Çalışma Zamanı tekerleğini onnxruntime-windowsml kullanın.

Python notları

Windows Uygulama SDK'sı başlatma

Tüm Windows ML çağrıları, Windows Uygulama SDK'sı başlatıldıktan sonra gerçekleşmelidir. Bu işlem aşağıdaki kodla yapılabilir:

from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
    InitializeOptions,
    initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
    # Your Windows ML code here

Kayıt, Windows ML dışında gerçekleşir

ONNX çalışma zamanı, Python ve yerel ortamların ayrı olduğu bir şekilde tasarlanmıştır. Ayrıca aynı işlemdeki yerel kayıt çağrıları Python ortamında çalışmaz. Bu nedenle yürütme sağlayıcılarının kaydı doğrudan Python API'siyle yapılmalıdır.

pywinrt'in paketlenmiş vcruntime'ını kaldırma

pywinrt projesi winrt-runtime paketinde bir msvcp140.dll içerir. Bu, diğer paketlerle çakışabilir. Bu sorunu önlemek için lütfen bu dll dosyasını kaldırın ve eksik vcruntime kitaplıklarını vc yeniden dağıtılabilir ile yükleyin

Ayrıca bakınız