LearningModelDeviceKind 列挙型

定義

機械学習モデルを評価できるデバイスの種類の一覧を定義します。

public enum class LearningModelDeviceKind
/// [Windows.Foundation.Metadata.ContractVersion(Windows.AI.MachineLearning.MachineLearningContract, 65536)]
enum class LearningModelDeviceKind
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.AI.MachineLearning.MachineLearningContract), 65536)]
public enum LearningModelDeviceKind
var value = Windows.AI.MachineLearning.LearningModelDeviceKind.default
Public Enum LearningModelDeviceKind
継承
LearningModelDeviceKind
属性

Windows の要件

デバイス ファミリ
Windows 10, version 1809 (10.0.17763.0 で導入)
API contract
Windows.AI.MachineLearning.MachineLearningContract (v1.0 で導入)

フィールド

Cpu 1

CPU を使用してモデルを評価します。

Default 0

どのデバイスを使用するかをシステムが決定できるようにします。

DirectX 2

GPU またはその他の DirectX デバイスを使用してモデルを評価します。

DirectXHighPerformance 3

高パフォーマンスを実現するために、システム ポリシーで定義されたデバイスを使用します。

DirectXMinPower 4

最小電力の場合は、システム ポリシーで定義されたデバイスを使用します。

次の例では、モデルを読み込み、モデルを評価するデバイスを選択し、評価セッションを作成します。

private async Task LoadModelAsync(string _modelFileName, bool _useGPU)
{
    LearningModel _model;
    LearningModelSession _session;

    try
    {
        // Load and create the model
        var modelFile = 
            await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///Assets/{_modelFileName}"));
        _model = await LearningModel.LoadFromStorageFileAsync(modelFile);

        // Select the device to evaluate on
        LearningModelDevice device = null;
        if (_useGPU)
        {
            // Use a GPU or other DirectX device to evaluate the model.
            device = new LearningModelDevice(LearningModelDeviceKind.DirectX);
        }
        else
        {
            // Use the CPU to evaluate the model.
            device = new LearningModelDevice(LearningModelDeviceKind.Cpu);
        }

        // Create the evaluation session with the model and device.
        _session = new LearningModelSession(_model, device);

    }
    catch (Exception ex)
    {
        StatusBlock.Text = $"error: {ex.Message}";
        _model = null;
    }
}

注釈

指定しない場合は、使用するデバイスがシステムによって決定されます。

Windows Server

Windows Server でこの API を使用するには、Windows Server 2019 とデスクトップ エクスペリエンスを使用する必要があります。

スレッド セーフ

この API はスレッド セーフです。

適用対象

こちらもご覧ください