0 安装Linux环境
apt-get install cmake
apt-get install libnss3
1,下载Pytorch C++编译环境
https://download.pytorch.org/libtorch/nightly/cpu/libtorch-shared-with-deps-latest.zip
并解压
2 安装vscode
启动
./code
3 pytorch c++编写
创建一个工程,目录结构:
test/
a.cpp
CMakeLists.txt
make # 执行脚本,删除build文件,然后编译
CMakeLists.txt,代码
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(custom_ops)
find_package(Torch REQUIRED)
add_executable(abc a.cpp)
target_link_libraries(abc "${TORCH_LIBRARIES}")
set_property(TARGET abc PROPERTY CXX_STANDARD 11)
a.cpp,代码:
#include <torch/script.h> // One-stop header.
#include <ATen/ATen.h>
#include <iostream>
#include <memory>
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 << "\n";
std::cout << "ok\n";
getchar();
return 1;
}
make文件,直接编译,并添加执行权限,chmod u+x make
#!/usr/bash
# delete build
path_project=`pwd`
path_project_build=$path_project/build
# delete build directory
rm -rf $path_project_build
# create build directory
mkdir $path_project_build
# join build directory
cd $path_project_build
# compile file
cmake -DCMAKE_PREFIX_PATH=path/to/libtorch ..
make
4,编译并执行。
4.1 编译
在工程下创建build,工程目录为:
test/
a.cpp
CMakeLists.txt
make
build --目录,存放编译生成后的文件
编译,sh make
4.2 执行,./build/abc