Condividi tramite


LearningModelSession Costruttori

Definizione

Overload

LearningModelSession(LearningModel)

Crea una sessione usando il dispositivo predefinito.

LearningModelSession(LearningModel, LearningModelDevice)

Crea una sessione usando il dispositivo specificato.

LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions)

Crea una sessione usando le opzioni di inferenza e dispositivo specificato.

LearningModelSession(LearningModel)

Crea una sessione usando il dispositivo predefinito.

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

Parametri

model
LearningModel

Modello di Machine Learning sottoposto a training per questa sessione.

Esempio

Nell'esempio seguente viene caricato un modello e viene creata una sessione di valutazione.

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

Commenti

Windows Server

Per usare questa API in Windows Server, è necessario usare Windows Server 2019 con Esperienza desktop.

Thread safety

Questa API è thread-safe.

Si applica a

LearningModelSession(LearningModel, LearningModelDevice)

Crea una sessione usando il dispositivo specificato.

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)

Parametri

model
LearningModel

Modello di Machine Learning sottoposto a training per questa sessione.

deviceToRunOn
LearningModelDevice

Dispositivo di valutazione della sessione.

Esempio

Nell'esempio seguente viene caricato un modello, viene selezionato il dispositivo in cui valutare il modello e viene creata una sessione di valutazione.

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

Commenti

Windows Server

Per usare questa API in Windows Server, è necessario usare Windows Server 2019 con Esperienza desktop.

Thread safety

Questa API è thread-safe.

Si applica a

LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions)

Crea una sessione usando le opzioni di inferenza e dispositivo specificato.

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)

Parametri

model
LearningModel

Modello di Machine Learning sottoposto a training per questa sessione.

deviceToRunOn
LearningModelDevice

Dispositivo di valutazione della sessione.

learningModelSessionOptions
LearningModelSessionOptions

Opzioni usate per configurare la creazione e la valutazione della sessione.

Requisiti Windows

Famiglia di dispositivi
Windows 10, version 1903 (è stato introdotto in 10.0.18362.0)
API contract
Windows.AI.MachineLearning.MachineLearningContract (è stato introdotto in v2.0)

Esempio

Nell'esempio seguente viene caricato un modello e viene configurata una sessione di valutazione 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;
    }
}

Si applica a