Windows.AI.MachineLearning Ruang nama

Memungkinkan aplikasi memuat model pembelajaran mesin, mengikat fitur, dan mengevaluasi hasilnya.

Kelas

ImageFeatureDescriptor

Menjelaskan properti gambar yang diharapkan model.

ImageFeatureValue

Menjelaskan properti gambar yang digunakan untuk meneruskan ke model.

LearningModel

Mewakili model pembelajaran mesin terlatih.

LearningModelBinding

Digunakan untuk mengikat nilai ke fitur input dan output bernama.

LearningModelDevice

Perangkat yang digunakan untuk mengevaluasi model pembelajaran mesin.

LearningModelEvaluationResult

Dapatkan hasil evaluasi.

LearningModelSession

Digunakan untuk mengevaluasi model pembelajaran mesin.

LearningModelSessionOptions

Menjelaskan opsi inferensi yang digunakan selama pembuatan objek LearningModelSession .

MapFeatureDescriptor

Peta adalah kumpulan pasangan (kunci, nilai).

SequenceFeatureDescriptor

Urutan adalah array elemen.

TensorBoolean

Objek tensor boolean.

TensorDouble

Objek tensor float 64-bit.

TensorFeatureDescriptor

Tensor adalah array nilai multi-dimensi.

TensorFloat

Objek tensor float 32-bit.

TensorFloat16Bit

Objek tensor float 16-bit.

TensorInt16Bit

Objek tensor bilangan bulat bertanda 16-bit.

TensorInt32Bit

Objek tensor bilangan bulat bertanda tangan 32-bit.

TensorInt64Bit

Objek tensor bilangan bulat bertanda tangan 64-bit.

TensorInt8Bit

Objek tensor bilangan bulat bertanda tangan 8-bit.

TensorString

Objek tensor string.

TensorUInt16Bit

Objek tensor bilangan bulat 16-bit yang tidak ditandatangani.

TensorUInt32Bit

Objek tensor bilangan bulat tidak ditandatangani 32-bit.

TensorUInt64Bit

Objek tensor bilangan bulat 64-bit yang tidak ditandatangani.

TensorUInt8Bit

Objek tensor bilangan bulat 8-bit yang tidak ditandatangani.

Antarmuka

ILearningModelFeatureDescriptor

Menjelaskan properti umum yang dimiliki semua fitur.

ILearningModelFeatureValue

Nilai yang dibuat untuk fitur.

ILearningModelOperatorProvider

Menjelaskan pengoperasi untuk model pembelajaran.

ITensor

Tensor adalah nilai multi-dimensi.

Enum

LearningModelDeviceKind

Menentukan daftar jenis perangkat yang dapat mengevaluasi model pembelajaran mesin.

LearningModelFeatureKind

Jenis fitur input dan output untuk model pembelajaran mesin.

LearningModelPixelRange

Menentukan daftar rentang piksel nominal gambar yang didukung oleh Windows ML. Nilai yang tepat ditentukan dalam metadata model pembelajaran mesin.

TensorKind

Menentukan daftar jenis data tensor yang didukung.

Contoh

Contoh berikut memuat model, membuat sesi evaluasi, mendapatkan fitur input dan output model, mengikat fitur tersebut, dan mengevaluasi.

private async Task LoadAndEvaluateModelAsync(VideoFrame _inputFrame, string _modelFileName)
{
    LearningModel _model;
    ImageFeatureDescriptor _inputImageDescription;
    TensorFeatureDescriptor _outputImageDescription;
    LearningModelBinding _binding = null;
    VideoFrame _outputFrame = null;
    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 the evaluation session with the model
        _session = new LearningModelSession(_model);

        //Get input and output features of the model
        List<ILearningModelFeatureDescriptor> inputFeatures = _model.InputFeatures.ToList();
        List<ILearningModelFeatureDescriptor> outputFeatures = _model.OutputFeatures.ToList();

        // Retrieve the first input feature which is an image
        _inputImageDescription =
                inputFeatures.FirstOrDefault(feature => feature.Kind == LearningModelFeatureKind.Image)
                as ImageFeatureDescriptor;

        // Retrieve the first output feature which is a tensor
        _outputImageDescription =
                        outputFeatures.FirstOrDefault(feature => feature.Kind == LearningModelFeatureKind.Tensor)
                        as TensorFeatureDescriptor;

        //Create output frame based on expected image width and height
        _outputFrame = new VideoFrame(
            BitmapPixelFormat.Bgra8, 
            (int)_inputImageDescription.Width, 
            (int)_inputImageDescription.Height);

        //Create binding and then bind input/output features
        _binding = new LearningModelBinding(_session);

        _binding.Bind(_inputImageDescription.Name, _inputFrame);
        _binding.Bind(_outputImageDescription.Name, _outputFrame);

        //Evaluate and get the results
        var results = await _session.EvaluateAsync(_binding, "test");
    }
    catch (Exception ex)
    {
        StatusBlock.Text = $"error: {ex.Message}";
        _model = null;
    }
}

Keterangan

Windows Server

Untuk menggunakan API ini di Windows Server, Anda harus menggunakan Windows Server 2019 dengan Pengalaman Desktop.

Keamanan utas

API ini aman untuk utas.

Lihat juga