Partilhar 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

Nome Valor Description
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