Partager via


LearningModelDeviceKind Énumération

Définition

Définit la liste des types d’appareils qui peuvent évaluer un modèle 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
Héritage
LearningModelDeviceKind
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 1809 (introduit dans 10.0.17763.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (introduit dans v1.0)

Champs

Cpu 1

Utilisez le processeur pour évaluer le modèle.

Default 0

Laissez le système décider quel appareil utiliser.

DirectX 2

Utilisez un GPU ou un autre appareil DirectX pour évaluer le modèle.

DirectXHighPerformance 3

Utilisez l’appareil défini par la stratégie système pour des performances élevées.

DirectXMinPower 4

Utilisez l’appareil défini par la stratégie système pour une alimentation minimale.

Exemples

L’exemple suivant charge un modèle, sélectionne l’appareil sur lequel évaluer le modèle et crée une session d’évaluation.

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

Remarques

S’il n’est pas spécifié, le système décide de l’appareil à utiliser.

Windows Server

Pour utiliser cette API sur Windows Server, vous devez utiliser Windows Server 2019 avec Expérience de bureau.

Sécurité des threads

Cette API est thread-safe.

S’applique à

Voir aussi