Windows.AI.MachineLearning Ruang nama
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.