# 트레이닝

트레이닝은 inference와 트레이닝을 모두 나타내며, 이는 사용자에게 Deep Learning DLL을 이용해 도구를 구성, 추가, 제거, 트레이닝할 수 있게 함으로써 런타임 기능을 확장한 것입니다.

장점 | 단점
--- | ---
다시 트레이닝 가능 | 통합하기 어려워짐 매개변수가 동결되지 않음 버전 관리가 사용자에게 노출됨

트레이닝 배포가 적합한 영역은 다음과 같습니다.

- 작업자가 자주 도구를 조정해야 하며, 가져오기/내보내기가 어려운 장애 요인이 될 때.
- 통합자가 다른 응용 프로그램에 의존하지 않고, 자신들의 자체 생태계를 이용해 트레이닝하고자 할 때.

프로그래밍 언어 | 메서드
--- | ---
.NET | namespace Training
C | vidi_* vidi_training_*

###### 예

프로그래밍 언어 | 예
--- | ---
.NET | Example.Training.Console
Example.Training.GUI
C | Example.Cpp.Training.Blue
Example.Cpp.Training.Red

###### inference

사용자의 Vision 응용 프로그램은 다음을 담당합니다.

- Deep Learning을 작동할 하드 디스크의 폴더 예약
- 이미지 획득
- Deep Learning 어플리케이션에 이미지 전달
- 결과를 해석하고 거기에 따라 작동
- 사용자에게 피드백 제공

Deep Learning DLL은 다음을 담당합니다.

- GPU 관리
- 이미지를 추출(메모리 또는 하드 디스크를 이용)하고 XML 문자열 반환

- 주어진 폴더 또는 아카이브에서 워크스페이스 로드

  Note: .NET Wrapper는 이 과제들을 실행할 UI 요소를 제공합니다.

###### 트레이닝

사용자의 Vision 응용 프로그램은 다음을 담당합니다.

- Deep Learning을 작동할 하드 디스크의 폴더 예약
- 도구 재트레이닝에 모든 Deep Learning 도구 매개변수 노출
- 워크스페이스 버전 관리
- 데이터베이스 요약을 통해 사용자에게 피드백 제공

Note: .NET Wrapper는 이 과제들을 실행할 UI 요소를 제공합니다.