Environnement Pytorch pour construire C ++

1. Lisez le document officiel du site Web Pytorch C ++ , installez le système d'exploitation Linux d'Ubuntu16.04 sur la machine virtuelle pour créer l'environnement, et utilisez le makefile pour compiler, le code est concis et facile à lire.

sudo apt-get update 
sudo apt-get install vim make cmake gcc g++ libnss3 tree git openssh-server openssh-client

2. Téléchargez le fichier de bibliothèque cpu pytorch c ++ , et décompressez-le, faites attention au chemin du répertoire, la compilation cmake a besoin

unzip libtorch-shared-with-deps-latest.zip
pwd

3. Installez vscode, téléchargez le lien: linux vscode , décompressez et démarrez

sudo dpkg -i code_1.32.1-1552006243_amd64.deb
code

4. Créez un projet, une structure de répertoires:

ai@ai-virtual-machine:~/pro/tb/day01_test_env_cpu$ tree
.
├── bin                # cmake 编译输出的文件目录
├── CMakeLists.txt     # cmake文件
├── main.cpp           # 主程序
└── makefile           # make编译CMakeLists.txt,代码简洁

main.cpp, code

#include <torch/script.h>
#include <ATen/ATen.h>

#include <iostream>

using namespace std;
using namespace at;

int main(int argc, const char* argv[])
{
    at::Tensor a = at::ones({2,2}, at::kInt);
    std::cout << a << std::endl;

    std::cout << "ok" << std::endl;
    return 0;
}

CMakeLists.txt, code

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
     

project(demo)

find_package(Torch REQUIRED)
     
add_executable(${PROJECT_NAME} main.cpp)

target_link_libraries(${PROJECT_NAME} "${TORCH_LIBRARIES}")

set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11)

makefile, code

.PHONY:all clean
     
PATH_BIN=bin


pytorch_lib=/home/ai/pro/tb/libtorch
     

all:

	@cd ./$(PATH_BIN) && cmake -DCMAKE_PREFIX_PATH=$(pytorch_lib) .. && make
     

clean:

	rm -rf $(PATH_BIN)

	mkdir $(PATH_BIN)

Compiler, créer

运 运, ./bin/demo

Lien de téléchargement du code d'ingénierie: https://download.csdn.net/download/wzhrsh/13206964

 

Je suppose que tu aimes

Origine blog.csdn.net/wzhrsh/article/details/110388086
conseillé
Classement