Partilhar via


LearningModelSession Construtores

Definição

Sobrecargas

LearningModelSession(LearningModel)

Cria uma sessão usando o dispositivo padrão.

LearningModelSession(LearningModel, LearningModelDevice)

Cria uma sessão usando o dispositivo especificado.

LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions)

Cria uma sessão usando o dispositivo especificado e opções de inferência adicionais.

LearningModelSession(LearningModel)

Cria uma sessão usando o dispositivo padrão.

public:
 LearningModelSession(LearningModel ^ model);
 LearningModelSession(LearningModel const& model);
public LearningModelSession(LearningModel model);
function LearningModelSession(model)
Public Sub New (model As LearningModel)

Parâmetros

model
LearningModel

O modelo de machine learning treinado para esta sessão.

Exemplos

O exemplo a seguir carrega um modelo e cria uma sessão de avaliação com ele.

private async Task LoadModelAsync(LearningModel _model, string _modelFileName, LearningModelSession _session)
{
    // Only load the model one time.
    if (_model != null) return;

    try
    {
        // Load and create the model
        var modelFile = 
            await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///Assets/{_modelFileName}"));
        _model = await LearningModel.LoadFromStorageFileAsync(modelFile);

        // Create the evaluation session with the model and device.
        _session = new LearningModelSession(_model);
    }
    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.

Aplica-se a

LearningModelSession(LearningModel, LearningModelDevice)

Cria uma sessão usando o dispositivo especificado.

public:
 LearningModelSession(LearningModel ^ model, LearningModelDevice ^ deviceToRunOn);
 LearningModelSession(LearningModel const& model, LearningModelDevice const& deviceToRunOn);
public LearningModelSession(LearningModel model, LearningModelDevice deviceToRunOn);
function LearningModelSession(model, deviceToRunOn)
Public Sub New (model As LearningModel, deviceToRunOn As LearningModelDevice)

Parâmetros

model
LearningModel

O modelo de machine learning treinado para esta sessão.

deviceToRunOn
LearningModelDevice

O dispositivo de avaliação da sessão.

Exemplos

O exemplo a seguir carrega um modelo, seleciona o dispositivo no qual avaliar o modelo e cria uma sessão de avaliação.

private async Task LoadModelAsync(string _modelFileName, bool _useGPU, LearningModelSession _session)
{
    LearningModel _model;

    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.

Aplica-se a

LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions)

Cria uma sessão usando o dispositivo especificado e opções de inferência adicionais.

public:
 LearningModelSession(LearningModel ^ model, LearningModelDevice ^ deviceToRunOn, LearningModelSessionOptions ^ learningModelSessionOptions);
 LearningModelSession(LearningModel const& model, LearningModelDevice const& deviceToRunOn, LearningModelSessionOptions const& learningModelSessionOptions);
public LearningModelSession(LearningModel model, LearningModelDevice deviceToRunOn, LearningModelSessionOptions learningModelSessionOptions);
function LearningModelSession(model, deviceToRunOn, learningModelSessionOptions)
Public Sub New (model As LearningModel, deviceToRunOn As LearningModelDevice, learningModelSessionOptions As LearningModelSessionOptions)

Parâmetros

model
LearningModel

O modelo de machine learning treinado para esta sessão.

deviceToRunOn
LearningModelDevice

O dispositivo de avaliação da sessão.

learningModelSessionOptions
LearningModelSessionOptions

As opções usadas para configurar a criação e a avaliação da sessão.

Requisitos do Windows

Família de dispositivos
Windows 10, version 1903 (introduzida na 10.0.18362.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (introduzida na v2.0)

Exemplos

O exemplo a seguir carrega um modelo e configura uma sessão de avaliação usando LearningModelSessionOptions.

private LearningModelSessionOptions CreateSessionOptions()
{
    var options = new LearningModelSessionOptions();

    // Disable constant batch size optimizations
    options.BatchSizeOverride = 0;

    return options;
}

private async Task LoadModelAsync(string modelFileName)
{
    LearningModel model;
    LearningModelDevice device;
    LearningModelSession session;

    try
    {
        // Load and create the model.
        var modelFile = 
            await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///Assets/{modelFileName}"));
        model = await LearningModel.LoadFromStorageFileAsync(modelFile);

        // Create default LearningModelDevice.
        device = new LearningModelDevice(LearningModelDeviceKind.Default);

        // Create LearningModelSessionOptions with necessary options set.
        LearningModelSessionOptions options = CreateSessionOptions();

        // Create the evaluation session with the model and LearningModelSessionOptions.
        session = new LearningModelSession(model, device, options);

    }
    catch (Exception ex)
    {
        StatusBlock.Text = $"error: {ex.Message}";
        model = null;
    }
}

Aplica-se a