Share via


LearningModelDeviceKind Enumeração

Definição

Define a lista de tipos de dispositivo que podem avaliar um modelo de machine learning.

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
Herança
LearningModelDeviceKind
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10, version 1809 (introduzida na 10.0.17763.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (introduzida na v1.0)

Campos

Cpu 1

Use a CPU para avaliar o modelo.

Default 0

Deixe o sistema decidir qual dispositivo usar.

DirectX 2

Use uma GPU ou outro dispositivo DirectX para avaliar o modelo.

DirectXHighPerformance 3

Use o dispositivo definido pela política do sistema para alto desempenho.

DirectXMinPower 4

Use o dispositivo definido pela política do sistema para obter o mínimo de energia.

Exemplos

O exemplo a seguir carrega um modelo, seleciona o dispositivo no qual avaliar o modelo e cria uma sessão de avaliação.

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;
    }
}

Comentários

Se não for especificado, o sistema decidirá qual dispositivo usar.

Windows Server

Para usar essa API no Windows Server, você deve usar o Windows Server 2019 com a Experiência desktop.

Acesso thread-safe

Essa API é thread-safe.

Aplica-se a

Confira também