환경

VisionPro Deep Learning에는 두 환경이 있는데 학습과 런타임 환경입니다. 학습 단계의 작업 환경은 학습 환경이고, 배포 단계의 작업 환경은 런타임 환경입니다. 아래 항목들은 런타임과 학습의 주요 구조적 차이, 장단점, 어떤 것을 사용해야 할지에 대한 이용 사례를 설명합니다.

Note: 학습 단계와 배포 단계에 관한 자세한 내용은 VisionPro Deep Learning 동작 원리 항목을 확인하십시오.
Note: 각각의 실행에 대한 자세한 내용은 개발자 문서 섹션의 항목들을 참조하십시오.

 

학습 환경

학습 환경은 학습과 프로세싱(또는 추론)을 포함합니다. 이는 런타임에서 추론만 제공하는 것을 넘어 사용자들이 Deep Learning DLL (API) 또는 GUI를 사용해 도구를 설정, 추가, 삭제, 학습하도록 합니다.

 

트레이닝

학습 환경에서 학습이란 VisionPro Deep Learning 워크스페이스에서 각 도구를 생성, 설정, 학습하는 데 필요한 모든 단계입니다. 이 단계에서는 주어진 이미지에 담긴 정보를 도구에 가르치기 위해 워크스페이스에 VisionPro Deep Learning 도구를 생성, 수정, 설정, 학습할 수 있습니다.

장점 단점

다시 트레이닝 가능

통합하기 어려워짐

매개변수가 동결되지 않음

버전 관리가 사용자에게 노출됨

 

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

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

 

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

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

 

프로그래밍 언어 메서드 예시 참고
.NET namespace Training

Example.Training.Console

Example.Training.GUI

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

vidi_*

vidi_training_*

Example.Cpp.Training.Blue

Example.Cpp.Training.Red

 

 

프로세싱(추론)

학습 환경에서 프로세싱이란 VisionPro Deep Learning 워크스페이스에서 결과를 추론하기 위해 각 학습된 도구를 가지고 지식을 적용하는 행위입니다. 프로세싱은 도구를 수정하거나 학습하지 않습니다. 워크스페이스에 있는 어떤 VisionPro Deep Learning 도구가 프로세싱중일 때, 이 도구는 이미지에서 결과를 추론하는 작업만을 수행합니다.

 

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

  • GPU 관리
  • 이미지를 추출(메모리 또는 하드 디스크를 이용)하고 XML 문자열 반환
  • 주어진 폴더 또는 아카이브에서 워크스페이스 로드

 

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

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

 

런타임 환경

런타임은 프로세싱(추론)만 가능합니다. 이는 도구가 이미지를 프로세싱할 수는 있지만 도구를 수정하거나 다시 학습할 수는 없다는 뜻입니다. 도구의 프로세싱은 배포된 프로덕션 환경에서 Deep Learning 도구를 실행하기 위해 필요한 최소한의 기능입니다. 더 자세한 내용은 런타임를 확인하십시오.