CNTK 라이브러리 API

CNTK는 Python, 네트워크 컴퍼지션 및 학습을 위한 C++와 모델 평가를 위한 라이브러리를 제공합니다. 또한 CNTK 모델 평가 기능에 액세스하기 위해 C#/.NET 및 Java의 라이브러리를 제공합니다.

Python API

CNTK Python API 는 모델 정의 및 컴퓨팅, 학습 알고리즘, 데이터 읽기 및 분산 학습에 대한 추상화로 구성됩니다.

  • 유연성 및 압축성: 이러한 추상화는 임의 신경망의 정의 및 학습에서 유연성과 간결성을 모두 제공하는 직교적으로 구성됩니다.
  • 효율적인 데이터 인터페이스: 단순하면서도 가벼운 데이터 인터페이스를 사용하면 네이티브 numpy 배열 형식의 데이터를 컴퓨팅 엔진에 효율적으로 공급할 수 있습니다.
  • 기본 제공 데이터 판독기: 이미지, 텍스트 형식 및 음성 HTK 데이터 형식에 대한 CNTK의 기본 제공 최적화되고 확장 가능한 데이터 판독기도 Python API에서 사용할 수 있으므로 사용자가 데이터 읽기 코드를 작성하지 않고도 기존 데이터를 쉽게 학습할 수 있습니다.
  • 확장성이 뛰어난 학습: API는 CNTK의 확장성이 뛰어난 분산 학습 기능(1비트 SGD와 같은 병렬화 알고리즘)을 노출합니다. 분산 학습 예제에서는 학습 병렬화 API를 보여 줍니다.
  • 간결한 네트워크 정의: API에는 CNTK V1과 유사한 되풀이를 포함하여 간결한 고급 신경망 정의를 가능하게 하는 상위 수준 계층 라이브러리 가 포함되어 있습니다. 도구 키트는 되풀이 단계를 정적 언롤링하지 않고도 심볼 형식의 되풀이 모델을 신경망의 주기로 표현하도록 지원합니다. 따라서 훨씬 더 일반적이고 간결하며 효율적인 표현과 반복 신경망 실행이 가능합니다.

CNTK Python API의 모든 핵심 계산, 학습 및 데이터 읽기 API 추상화는 Python 및 C++ 모두에서 매우 쉽게 확장할 수 있으므로 사용자는 라이브러리의 기본 제공 기능으로 자유롭게 구성하는 새 연산자, 학습자 및 데이터 판독기를 쉽게 구현할 수 있습니다.

API는 저장된 모델에 대한 이전 버전 및 상향 호환성을 지원하는 새로운 프로토콜 버퍼 기반 모델 직렬화 형식을 도입합니다.

C++ API

CNTK 라이브러리 C++ API는 개발자를 위한 학습, 효율적인 데이터 읽기 및 확장 가능한 모델 학습 기능을 & CNTK의 핵심 계산, 신경망 구성을 노출합니다. C++ API는 모델 학습과 평가 모두에 완벽하게 적용되어 학습 및 모델 서비스를 네이티브 코드에서 구동할 수 있습니다. 이렇게 하면 네이티브 코드가 평가 요청(예: 온라인 학습)의 일부로 새 데이터를 사용하여 온라인 모델을 튜닝할 수 있습니다.

현재 API 설명서의 가장 좋은 원본은 전체 C++ API 정의를 포함하는 API 헤더 파일(CNTKLibrary.h)의 인라인입니다. API 헤더 파일은 Include 디렉터리의 이진 릴리스 패키지에도 포함됩니다.

C#/.NET API

CNTK 라이브러리 관리 API는 C# 또는 기타 .NET 언어를 사용하는 개발자를 위한 학습 및 평가 관련 API를 노출합니다. NuGet 패키지로 제공됩니다. NuGet 패키지 CNTK입니다. CPUOnly는 CPU 전용 디바이스 및 CNTK용입니다. GPU는 CPU와 NVIDIA GPU를 모두 지원합니다.

CNTK 라이브러리 관리 API에 대한 자세한 내용은 CNTK 라이브러리 관리 API 페이지를 참조하세요.

CNTKLibraryEvalExamples.sln 프로젝트 내에는 C#에서 모델을 평가하는 방법을 보여 주는 몇 가지 Eval 예제가 있습니다.

C# API를 사용하는 학습 예제는 CNTKLibraryCSharpTrainingExamples.sln 내에서 찾을 수 있습니다.

Java API(실험적)

CNTK Java API는 Java에서 모델 평가를 지원합니다. 이 API는 여전히 실험적이며 변경될 수 있습니다. Java 프로젝트에 포함할 수 있는 jar 파일(cntk.jar)으로 제공됩니다.

Java API를 사용하는 방법은 WindowsLinux 지침을 참조하세요.

Java 예제에서는 Java에서 모델을 평가하는 방법을 보여줍니다.