Created
May 17, 2018 23:39
-
-
Save meulta/624304e191630af8aa76d414d3a0ff9a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#if UNITY_WSA && !UNITY_EDITOR | |
using System; | |
using System.Collections.Generic; | |
using System.Diagnostics; | |
using System.IO; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using Windows.AI.MachineLearning.Preview; | |
using Windows.Media; | |
using Windows.Storage; | |
using Windows.Storage.Streams; | |
public sealed class Image_RecoModelInput | |
{ | |
public VideoFrame data { get; set; } | |
} | |
public sealed class Image_RecoModelOutput | |
{ | |
public IList<string> classLabel { get; set; } | |
public IDictionary<string, float> loss { get; set; } | |
public Image_RecoModelOutput() | |
{ | |
this.classLabel = new List<string>(); | |
this.loss = new Dictionary<string, float>() | |
{ | |
{ "football", 0f }, | |
{ "rubikscube", 0f } | |
}; | |
} | |
} | |
public sealed class Image_RecoModel | |
{ | |
private LearningModelPreview learningModel; | |
LearningModelBindingPreview binding; | |
public static async Task<Image_RecoModel> CreateImage_RecoModel(StorageFile file) | |
{ | |
LearningModelPreview learningModel = await LearningModelPreview.LoadModelFromStorageFileAsync(file); | |
Image_RecoModel model = new Image_RecoModel(); | |
model.learningModel = learningModel; | |
model.binding = new LearningModelBindingPreview(learningModel); | |
model.binding.Bind("classLabel", model.output.classLabel); | |
model.binding.Bind("loss", model.output.loss); | |
return model; | |
} | |
Image_RecoModelOutput output = new Image_RecoModelOutput(); | |
public async Task<Image_RecoModelOutput> EvaluateAsync(Image_RecoModelInput input) | |
{ | |
var d = input.data.Direct3DSurface.Description; | |
binding.Bind("data", input.data); | |
LearningModelEvaluationResultPreview evalResult = await learningModel.EvaluateAsync(binding, string.Empty); | |
return output; | |
} | |
} | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment