<aside> 💡 이 페이지는 MrD C++ API를 이용하여 학습한 모델을 사용하는 예제를 담고 있습니다.
</aside>
모델이 예측한 결과
using OpenCvSharp;
using System;
namespace ConsoleSharpExample
{
internal class Program
{
static void Main(string[] args)
{
try
{
//Cuda 사용 여부 확인
if(MrD.ClassificationHelper.DeviceCheck() == MrD.DeviceType.GPU_CUDA)
{
System.Console.WriteLine("Cuda enabled");
}
else
{
System.Console.WriteLine("Cpu enabled");
}
//Classification 객체 생성
var classifier = MrD.ClassificationHelper.Classification();
//모델 열기
classifier.Open("C://Github//DeepLearningStudy//trained_model//foodDetector.pt",
"C://Github//DeepLearningStudy//dataset//FIAT_dataset_food//___target_info.json",
MrD.DeviceType.GPU_CUDA);
//분류기 모델의 유형 설정
classifier.Mode = MrD.ClassificationMode.MultiClass;
//OpencvSharp를 이용하여 이미지 로드
Mat input_image = Cv2.ImRead("C://Github//DeepLearningStudy//dataset//FIAT_dataset_food//1_1_hamburger.jpg", ImreadModes.Color);
Mat resized_image = new Mat();
//모델에 맞는 이미지 사이즈로 리사이징
Cv2.Resize(input_image, resized_image, new Size(224, 224));
//OpencvSharp 이미지를 모델에 입력하능한 형태의 MrD Frarme으로 변환
var frame = MrD.Common.Frame(224, 224, 3, resized_image.Data, MrD.PixelType.byte_pixel);
//모델 예측 시작
var result = classifier.Predict(frame);
//예측 결과 디스플레이
for (int index = 0; index < result.Count; index++){
System.Console.WriteLine("num class : {0}, score{1}", index, result[index]);
}
Cv2.ImShow("input image", resized_image);
Cv2.WaitKey();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
System.Console.WriteLine(ex.ToString());
}
}
}
}
<aside> 📘 MrD C# API설치 방법은 메인 페이지를 참고 바랍니다.
</aside>