다음을 통해 공유


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

Windows Server에서 이 API를 사용하려면 데스크톱 환경과 함께 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

Windows Server에서 이 API를 사용하려면 데스크톱 환경과 함께 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;
    }
}

적용 대상