Windows ML で実行プロバイダーのバージョンを確認する

Windows ML のほとんどの実行プロバイダーは、Windows ML EPs のインストールに関する記事に示されているように、実行時に Windows Update を介して動的に取得され、更新されたバージョンは Windows ML EP の更新に関する記事で説明されているように自動的に更新されます (互換性のある更新プログラムを使用します)。つまり、EP のバージョンは時間の経過と共に変化する可能性があります。

使用可能な 実行プロバイダー とそのリリース履歴については、サポートされている実行プロバイダーのドキュメントを参照してください。

エンド ユーザーの EP バージョンを確認する

ExecutionProviderPackageId プロパティを調べることで、デバイスに存在する実行プロバイダー (EP) のバージョンをプログラムで確認できます。

EP がまだ存在しない場合、PackageId は null を返します。

// Get all EPs compatible with this device
var providers = ExecutionProviderCatalog.GetDefault().FindAllProviders();

// For each provider
foreach (var provider in providers)
{
    // Log the name
    Debug.WriteLine($"Windows ML EP: {provider.Name}");

    // Log the version
    if (provider.PackageId != null)
    {
        var v = provider.PackageId.Version;
        Debug.WriteLine($"Version: {v.Major}.{v.Minor}.{v.Build}.{v.Revision}");
    }
    else
    {
        Debug.WriteLine("Version: Not installed");
    }
}

QNN EP がインストールされているデバイスでは、次のコードが出力されます。

Windows ML EP: QNNExecutionProvider
Version: 1.8.27.0

独自のデバイスの EP バージョンを確認する

PowerShell を使用して、開発デバイスにインストールされている EP のバージョンを簡単に確認することもできます。

Get-AppxPackage MicrosoftCorporationII.WinML.*

QNN EP がインストールされているデバイスでは、次のように出力されます。

Name              : MicrosoftCorporationII.WinML.Qualcomm.QNN.EP.1.8
Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Architecture      : Arm64
ResourceId        :
Version           : 1.8.27.0
...

こちらも参照ください