Freigeben über


LearningModelDevice(LearningModelDeviceKind) Konstruktor

Definition

Erstellen Sie ein LearningModelDevice aus dem angegebenen LearningModelDeviceKind.

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

Parameter

deviceKind
LearningModelDeviceKind

Das angegebene LearningModelDeviceKind , für das das Modell ausgewertet werden soll.

Beispiele

Im folgenden Beispiel wird ein Modell geladen, das Gerät ausgewählt, auf dem das Modell ausgewertet werden soll, und ausgewertet.

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

Hinweise

Windows Server

Um diese API unter Windows Server verwenden zu können, müssen Sie Windows Server 2019 mit Desktopdarstellung verwenden.

Threadsicherheit

Diese API ist threadsicher.

Verwenden von DirectX-Geräten

Wenn Sie eine der DirectX-Optionen an diesen Konstruktor übergeben, muss ein Hardwaregerät gefunden werden. Wenn kein Hardwaregerät vorhanden ist, wird ERROR_NOT_FOUND angezeigt. Sie können diesen Fehlercode verwenden, wenn Sie einen Fallback auf die CPU auswählen. Verwenden Sie die DXGI-APIs, um ihre eigene Hardwareerkennung vor dem Aufrufen dieses Konstruktors auszuführen.

Hinweis

Derzeit ist dieser Konstruktor erfolgreich und gibt fälschlicherweise den Softwareadapter DXGI_ADAPTER_FLAG_SOFTWARE zurück, wenn kein DirectX-Hardwaregerät gefunden wird.

Gilt für: