Partilhar via


LearningModelDevice(LearningModelDeviceKind) Construtor

Definição

public:
 LearningModelDevice(LearningModelDeviceKind deviceKind);
 LearningModelDevice(LearningModelDeviceKind const& deviceKind);
public LearningModelDevice(LearningModelDeviceKind deviceKind);
function LearningModelDevice(deviceKind)
Public Sub New (deviceKind As LearningModelDeviceKind)

Parâmetros

deviceKind
LearningModelDeviceKind

O LearningModelDeviceKind especificado no qual avaliar o modelo.

Exemplos

O exemplo a seguir carrega um modelo, seleciona o dispositivo no qual avaliar o modelo e avalia.

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

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.

Usando dispositivos DirectX

Se você passar qualquer uma das opções do DirectX para esse construtor, um dispositivo de hardware deverá ser encontrado. Se nenhum dispositivo de hardware existir, ERROR_NOT_FOUND será exibido. Você pode usar esse código de erro se optar por fazer fallback para a CPU. Para fazer sua própria detecção de hardware antes de chamar esse construtor, use as APIs DXGI.

Observação

Atualmente, esse construtor é bem-sucedido e retorna incorretamente o adaptador de software DXGI_ADAPTER_FLAG_SOFTWARE se nenhum dispositivo de hardware DirectX for encontrado.

Aplica-se a