본문 바로가기
728x90
반응형

AI/Development3

[PytorchToC++] 03. Visual Studio에 LibTorch 설치하기 1. libtorch download - OS와 CUDA를 컴퓨터 환경에 맞게 설정하고 debug, release 버전 둘 다 다운로드한다. 절대 경로로 참조할 예정이므로 폴더 위치를 신중하게 선택! 2. Visual Studio에서 C++, Windows 선택 후 빈 프로젝트를 생성한다. 다운로드 받은 라이브러리 사용을 위해 속성 페이지에서 추가 포함 디렉터리를 설정해주어야한다. 프로젝트 -> 속성 구성 tab에서 Debug, Release 를 변경하며 동일하게 진행하되, debug와 release버전의 폴더는 다르게 설정한다. C/C++ - 일반 - 추가 포함 디렉터리에서 libtorch(debug/release) 라이브러리가 포함된 경로를 추가한다. C/C++ - 언어 - 준수모드 를 아니요로 변경.. 2021. 9. 29.
[PytorchToC++] 02. TorchScript 분석 torch_tracing과 torchscript 비교 에 이어진다. 1. TorchScript 분석 Module을 아래와 같이 구성하면 재사용성과 가독성이 높아진다. MyDecisionGate는 제어 흐름을 활용한다. 아래에 출력되는 grad_fn은 잠재적으로 복잡한 프로그램을 통해 미분을 계산할 수 있게된다. 코드 중 미분값을 명시적으로 정의할 필요가 없는 경우도 있는데 pytorch는 변화도 테이프를 사용하여 연산이 발생할 때만 이를 기록하고 미분값을 계산할 때 거꾸로 재생한다. (많은 프레임워크들이 프로그램 코드로부터 기호식 미분을 계산하는 접근법을 취하고 있음) 1 ) 모듈 1 : torch.nn.Module 을 상속받음 import torch class MyDecisionGate(torch.nn.. 2021. 9. 29.
[PytorchToC++] 01. TorchScript 비교 및 simple code review > Python에서 Pytorch로 작성한 모델을 C++ 환경에서 사용하기 위해 Develop을 진행한다. Python에서 jit로 모델을 작성한 후 C++에서 LibTorch를 사용하여 로드하고자 한다. 1. python 환경 python 환경에서 jit로 모델을 모듈화하는 과정은 두 가지 방법이 있다. [ torch_tracing ] : 입력값을 사용하여 모델 구조를 파악한 뒤 입력값의 모델 안에서의 흐름을 통해 모델을 기록한다. flow가 기록되기 때문에 statically fix된 그래프이다. [ annotation(script) ] : torchscript 컴파일러가 직접 모델 코드를 분석하여 컴파일을 진행한다. 따라서 dynamic한 control flow(조건 분기, break 등)를 사용할.. 2021. 9. 28.
728x90
반응형