Quick Start


아래 코드 블럭은 제일 간단한 Classification 검사 진행을 설명합니다.

{
    //Initialize
    SaigeVision.Core.SaigeVisionApp.Init();

    //Prepare
    IGpuService gpuService = new NvGpuService();
    gpuService.DetectConnectedGPUs();
    PhysicalGpu gpu = gpuService.CurrentDetectedGPUs[0];

    SrImage image = new SrImage("c:\...\...\...\Sample1.jpg");
    Uri model = new Uri("c:\...\...\...\model.SrCls");

    //Inspect
    using (var engine = EngineLoader.LoadFrom<ClassificationEngine>(model))
    {
        engine.AllocateNetwork(gpu);
        ClassificationReport report = engine.Inspect(image);

        ClassInfo prediction = report.Prediction;
        Console.WriteLine($"Predicted : {prediction.Name}");
    }

    //Clean up (optional)
    image.Dispose();
}

이와 같은 간단한 코드로 SaigeVision.Core.Inference에서 제공하는 검사 기능을 수행 할 수 있습니다.

'Workspace'에서 정상적으로 SaigeVision.Core.Inference를 참조했다면, 위 샘플 코드를 'Copy & paste' 하여 동작 시켜 보세요.

샘플 코드에 보이듯이 'SaigeVision'에서 제공하는 'Inference'의 사용은 몇가지 규칙적인 절차를 가지고 있습니다.

해당하는 절차와 각 절차의 설명은 아래와 같습니다.

  • Initialize: SaigeVision.Core를 사용 가능한 상태로 초기화합니다.
  • Prepare: 필요한 데이터와 환경을 준비합니다.
  • Inspect : InspectionEngine을 로드하고 검사를 수행합니다.
  • Clean up (optional): 사용한 리소스를 제거합니다.

InspectionEngine은 ClassificationEngine과 DetectionEngine, SegmentationEngine을 포괄하여 통칭하는 단어입니다. 이 단어는 Docs에 계속해서 등장하니 이해해두는 편이 좋습니다.

이 단계에서는 검사 결과 외에도 SagieVision.Core.Infernece를 통해 'Inference'를 수행하는 전체적인 흐름을 이해하는 것이 중요합니다. 모든 InspectionEngine은 이러한 절차를 공통적으로 사용합니다.

SaigeVision.Core.Inference는 ClassificationEngine과 DetectionEngine, SegmentationEngine 을 제공합니다.

각 InspectionEngine에 대한 세부적인 내용과 가이드를 이 Docs에서 확인하세요.

🚫 SaigeVision.Core로 시작하는 네임스페이스의 모든 도구는 라이센스 검사가 적용되어 있습니다. 도구를 사용하기 전에 꼭 라이센스를 위한 준비가 되었는지 확인하세요.

See also