1,阅读Pytorch C++官网文档,在虚拟机上安装Ubuntu16.04的Linux操作系统搭建环境,并使用makefile进行编译,代码简洁易读。
sudo apt-get update
sudo apt-get install vim make cmake gcc g++ libnss3 tree git openssh-server openssh-client
2,下载pytorch c++ cpu 库文件,并解压,注意此目录路径,cmake编译需要
unzip libtorch-shared-with-deps-latest.zip
pwd
3,安装vscode,下载地址:linux vscode,解压并启动
sudo dpkg -i code_1.32.1-1552006243_amd64.deb
code
4,创建一个工程,目录结构:
ai@ai-virtual-machine:~/pro/tb/day01_test_env_cpu$ tree
.
├── bin # cmake 编译输出的文件目录
├── CMakeLists.txt # cmake文件
├── main.cpp # 主程序
└── makefile # make编译CMakeLists.txt,代码简洁
main.cpp,代码
#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,代码
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,代码
.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)
编译,make
运行,./bin/demo