cntk.exe 사용하여 CNTK 평가

cntk.exe 사용하여 모델 평가

CNTK 실행 파일 자체를 사용하여 모델 평가(예: cntk.exe)는 학습 프로세스와 비슷합니다. 그러나 "train" 명령을 사용하는 대신 "eval" 명령이 구성 파일에 배치됩니다.

평가에 CNTK 실행 파일을 사용하면 다음과 같은 이점이 있습니다.

CPU/GPU 기능

학습과 마찬가지로 CNTK 평가 중에 GPU를 활용할 수 있습니다. 자세한 내용은 구성 파일 개요 페이지를 참조하세요.

독자(및 해당 변환)

모델 학습과 마찬가지로 판독기 플러그 인(예: ImageReader)은 학습 중에 네트워크에 공급하기 전에 입력 데이터에 대해 일부 데이터 변환을 수행할 수 있습니다. 이러한 변환은 CNTK 일부가 아니라 독자의 일부입니다. 평가 중에 동일한 변환된 데이터를 공급하려면 공급하기 전에 변환이 발생해야 합니다. CNTK 실행 파일을 사용하여 평가할 때 동일한 판독기(평가 중에 사용됨)를 사용할 수 있으므로 동일한 변환을 적용할 수 있습니다. 이 페이지의 뒷부분에서 설명하겠습니다. 프로그래밍 방식을 사용할 때 이러한 변환은 평가용 데이터를 제출하기 전에 평가 엔진 외부에서 프로그래밍 방식으로 수행되어야 합니다(모델이 변환된 데이터로 학습되었다고 가정).

모델 조정

평가에 CNTK 사용하는 경우 BrainScript를 사용하여 모델의 레이아웃을 수정할 수 있습니다. 이렇게 하면 평가를 위해 숨겨진 레이어를 노출하는 등의 추가 기능을 사용할 수 있습니다. 자세한 내용은 BrainScript 페이지를 참조하세요.

평가에 CNTK 실행 파일을 사용하는 경우 다음과 같은 단점이 있습니다.

프로세스 스핀업 시간

CNTK 실행 파일은 기본적으로 프로세스로 실행되므로 스핀업하는 데 다소 시간이 걸립니다. 많은 요청을 동적으로 처리해야 하는 서비스의 경우 서비스에서 평가 라이브러리를 사용하는 것이 더 좋습니다.

파일 기반 입력/출력

CNTK 실행 파일은 파일에서 입력 데이터를 읽고 출력 데이터를 파일에 씁니다. 클라우드에서 실행되는 서비스의 경우 이로 인해 몇 가지 성능 문제가 발생할 수 있습니다.

참고: CNTK 실행 파일을 사용하여 CNTK 모델을 평가하는 경로를 이동하는 경우 매개 변수가 평가에 적합한지 확인합니다. 특히 MiniBatchSize에 적합한 크기를 지정합니다. 자세한 내용은 문제 해결 CNTK 페이지를 참조하세요.