모델 평가 예제

C++, C#/.NET 및 Python에서 CNTK Eval 라이브러리를 사용하는 예제는 GitHub 예제/평가 폴더와 CNTK 릴리스 페이지의 CNTK 이진 다운로드 패키지에서 찾을 수 있습니다.

CNTK 라이브러리 Eval C++/C# 예제

CNTKLibraryEvalExamples에는 C++ 및 C#에서 CNTK 라이브러리 Eval API를 사용하는 방법을 보여주는 코드 샘플이 포함되어 있습니다.

Windows에서

  • 이러한 샘플을 사용하려면 Visual Studio 2017이 필요합니다.
  • 샘플은 64비트 대상 플랫폼용으로 빌드되어야 합니다. 그렇지 않으면 라이브러리를 호출할 때 몇 가지 문제가 발생합니다. 자세한 내용은 문제 해결 CNTK 페이지를 참조하세요.
  • 빌드가 완료되면 실행 파일이 $(SolutionDir)....$(Platform)$(ProjectName).$(Configuration)\ 폴더(예: ....\X64\CNTKLibraryCSEvalCPUOnlyExamples.Release\CNTKLibraryCSEvalCPUOnlyExamples.exe)에 저장됩니다.

Linux에서는 C++만 지원됩니다. 빌드 샘플은 Makefile 참조하세요. CNTKLIBRARY_CPP_EVAL_EXAMPLES 대상 이름은 CNTKLibraryCPPEvalExamples를 빌드하는 데 사용됩니다.

여러 요청을 병렬로 평가하는 예제

CNTKLibraryEvalExamples에는 여러 평가 요청을 병렬로 평가하는 샘플 코드가 포함되어 있습니다. 또한 샘플 코드는 동일한 모델의 여러 인스턴스 간에 모델 매개 변수를 공유하여 메모리 사용량을 줄이는 방법을 보여 줍니다.

중간 계층 평가 예제

  • C#의 EvaluateIntermediateLayer()는 CNTK C#/.NET Managed API를 사용하여 모델에서 중간 계층을 평가하는 방법을 보여 줍니다.
  • EvaluateIntermediateLayer()는 CNTK C++ 라이브러리 API를 사용하여 모델에서 중간 계층을 평가하는 방법을 보여 주는 C++ 예제입니다.

여러 노드의 출력을 평가하는 예제

  • C#의 EvaluateCombinedOutputs()는 CNTK C#/.NET Managed API를 사용하여 여러 출력을 평가하는 방법을 보여 줍니다.
  • EvaluateCombinedOutputs()는 CNTK C++ 라이브러리 API를 사용하여 여러 출력을 평가하는 방법을 보여 주는 C++ 예제입니다.

평가를 비동기적으로 실행하기 위한 C# 예제

이 예제 EvaluationSingleImageAsync() 에서는 확장 메서드 EvaluateAsync()를 사용하여 평가를 비동기적으로 실행하는 방법을 보여 줍니다.

Python Eval 예제

여기에 설명된 대로 Python을 사용하여 미리 학습된 모델을 평가할 수도 있습니다.

Java Eval 예제

Java 예제에서는 Java API를 사용하여 모델을 평가하는 방법을 보여줍니다. Java API는 여전히 실험적이며 변경될 수 있습니다.

Java 예제를 빌드하는 방법에 대한 WindowsLinux 지침을 참조하세요.

EvalDLL을 사용하는 레거시 애플리케이션의 예

자세한 내용은 EvalDll-Examples를 참조하세요.