LearningModelSession Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
LearningModelSession(LearningModel) |
Создает сеанс с использованием устройства по умолчанию. |
LearningModelSession(LearningModel, LearningModelDevice) |
Создает сеанс с использованием указанного устройства. |
LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions) |
Создает сеанс с использованием указанного устройства и дополнительных параметров вывода. |
LearningModelSession(LearningModel)
Создает сеанс с использованием устройства по умолчанию.
public:
LearningModelSession(LearningModel ^ model);
LearningModelSession(LearningModel const& model);
public LearningModelSession(LearningModel model);
function LearningModelSession(model)
Public Sub New (model As LearningModel)
Параметры
- model
- LearningModel
Обученная модель машинного обучения для этого сеанса.
Примеры
В следующем примере загружается модель и создается сеанс оценки с ней.
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;
}
}
Комментарии
Windows Server
Чтобы использовать этот API в Windows Server, необходимо использовать Windows Server 2019 с возможностями рабочего стола.
Потокобезопасность
Этот API является потокобезопасным.
Применяется к
LearningModelSession(LearningModel, LearningModelDevice)
Создает сеанс с использованием указанного устройства.
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)
Параметры
- model
- LearningModel
Обученная модель машинного обучения для этого сеанса.
- deviceToRunOn
- LearningModelDevice
Устройство оценки сеанса.
Примеры
В следующем примере загружается модель, выбирается устройство, на котором будет оцениваться модель, и создается сеанс оценки.
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;
}
}
Комментарии
Windows Server
Чтобы использовать этот API в Windows Server, необходимо использовать Windows Server 2019 с возможностями рабочего стола.
Потокобезопасность
Этот API является потокобезопасным.
Применяется к
LearningModelSession(LearningModel, LearningModelDevice, LearningModelSessionOptions)
Создает сеанс с использованием указанного устройства и дополнительных параметров вывода.
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)
Параметры
- model
- LearningModel
Обученная модель машинного обучения для этого сеанса.
- deviceToRunOn
- LearningModelDevice
Устройство оценки сеанса.
- learningModelSessionOptions
- LearningModelSessionOptions
Параметры, используемые для настройки создания и оценки сеанса.
Требования к Windows
Семейство устройств |
Windows 10, version 1903 (появилось в 10.0.18362.0)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (появилось в v2.0)
|
Примеры
В следующем примере загружается модель и настраивается сеанс оценки с помощью 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;
}
}