728x90
반응형
1. libtorch download
- OS와 CUDA를 컴퓨터 환경에 맞게 설정하고 debug, release 버전 둘 다 다운로드한다. 절대 경로로 참조할 예정이므로 폴더 위치를 신중하게 선택!
2. Visual Studio에서 C++, Windows 선택 후 빈 프로젝트를 생성한다.
다운로드 받은 라이브러리 사용을 위해 속성 페이지에서 추가 포함 디렉터리를 설정해주어야한다.
프로젝트 -> 속성
구성 tab에서 Debug, Release 를 변경하며 동일하게 진행하되, debug와 release버전의 폴더는 다르게 설정한다.
- C/C++ - 일반 - 추가 포함 디렉터리에서 libtorch(debug/release) 라이브러리가 포함된 경로를 추가한다.
- C/C++ - 언어 - 준수모드 를 아니요로 변경한다.
- 링커 - 일반 - 추가 라이브러리 디렉터리에 (debug/release) lib 폴더 경로를 추가한다.
- 링커 - 입력 추가종속성 에 환경에 맞는 버전을 추가한다. CPU 사용 유저는 위 3개만, GPU 버전 유저는 아래 lib 파일들과 사용하실 파일들까지 입력한다.
- CPU Version: torch_cpu.lib, c10.lib, torch.lib
- GPU Version: torch.lib, torch_cuda.lib, caffe2_nvrtc.lib, c10.lib, c10_cuda.lib, torch_cpu.lib, -INCLUDE:?
- 구성 - 디버깅 - 환경 편집 에 PATH=lib파일 경로;%PATH% 를 추가한다.
Debug 버전과 동일하게 Release버전도 설정한다.
소스 파일의 main.cpp 코드를 다음과 같이 입력한 뒤 실행시켜보자.
#include <torch/script.h> // One-stop header.
#include <iostream>
#include <memory>
int main(int argc, const char* argv[]) {
if (argc != 2) {
std::cerr << "usage: example-app <path-to-exported-script-module>\n";
return -1;
}
torch::jit::script::Module module;
try {
// Deserialize the ScriptModule from a file using torch::jit::load().
module = torch::jit::load(argv[1]);
}
catch (const c10::Error& e) {
std::cerr << "error loading the model\n";
return -1;
}
std::cout << "ok\n";
}
#include <torch/script.h> // One-stop header.
#include <iostream>
int main()
{
torch::Tensor tensor = torch::rand({ 2,3 });
std::cout << tensor << std::endl;
728x90
반응형
'AI > Development' 카테고리의 다른 글
[PytorchToC++] 02. TorchScript 분석 (0) | 2021.09.29 |
---|---|
[PytorchToC++] 01. TorchScript 비교 및 simple code review (0) | 2021.09.28 |