Freigeben über


LearningModelDeviceKind Enumeration

Definition

Definiert die Liste der Gerätetypen, die ein Machine Learning-Modell auswerten können.

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
Vererbung
LearningModelDeviceKind
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1809 (eingeführt in 10.0.17763.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (eingeführt in v1.0)

Felder

Cpu 1

Verwenden Sie die CPU, um das Modell auszuwerten.

Default 0

Überlässt dem System die Entscheidung, welches Gerät verwendet werden soll.

DirectX 2

Verwenden Sie eine GPU oder ein anderes DirectX-Gerät, um das Modell auszuwerten.

DirectXHighPerformance 3

Verwenden Sie das systemrichtliniende Gerät für hohe Leistung.

DirectXMinPower 4

Verwenden Sie das von der Systemrichtlinie definierte Gerät für minimale Leistung.

Beispiele

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

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

Falls nicht angegeben, entscheidet das System, welches Gerät verwendet werden soll.

Windows Server

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

Threadsicherheit

Diese API ist threadsicher.

Gilt für:

Weitere Informationen