LearningModelDevice(LearningModelDeviceKind) 构造函数

定义

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

参数

deviceKind
LearningModelDeviceKind

要评估模型的指定 LearningModelDeviceKind

示例

以下示例加载模型,选择要评估模型的设备,然后计算。

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 是线程安全的。

使用 DirectX 设备

如果将任何 DirectX 选项传递给此构造函数,则必须找到硬件设备。 如果不存在硬件设备,则显示ERROR_NOT_FOUND。 如果选择回退到 CPU,则可以使用此错误代码。 若要在调用此构造函数之前执行自己的硬件检测,请使用 DXGI API

注意

目前,如果找不到 DirectX 硬件设备,此构造函数成功并错误地返回 软件适配器DXGI_ADAPTER_FLAG_SOFTWARE

适用于