ubuntu 源码编译libtorch
pytorch/libtorch qq群: 1041467052
有一点儿感悟就是:
一定要去官网找一手资料,百度出来的都是个人根据官网来的,这个就随便看看了。
官网:https://github.com/pytorch/pytorch
首先我跑的是pytorch 1.3版本的,conda安装好的,现在需要源码编译。按照官网的流程,需要先安装依赖包。
我是切换到pytorch1.3的conda虚拟环境进行的:这里是官网的教程:
其中,git clone --recursive https://github.com/pytorch/pytorch 是下载的最新版本,而我需要1.3的。
下载完成后:
git tag
会出来:
v0.1.1
v0.1.10
v0.1.11
v0.1.12
v0.1.2
v0.1.3
v0.1.4
v0.1.5
v0.1.6
v0.1.7
v0.1.8
v0.1.9
v0.2.0
v0.3.0
v0.3.1
v0.4.0
v0.4.1
v1.0.0
v1.0.0a0
v1.0.1
v1.0rc0
v1.0rc1
v1.1.0
v1.1.0a0
v1.2.0
v1.2.0a0
v1.3.0
v1.3.0a0
v1.3.1
v1.4.0
v1.4.0a0
v1.4.1
v1.5.0
v1.5.0-rc1
v1.5.0-rc2
v1.5.0-rc3
v1.5.0-rc4
v1.5.0-rc5
然后敲:
git checkout v1.3.1
然后再:
git submodule sync
git submodule update --init --recursive
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
python setup.py install
然后是漫长的等待
好久之后,没有报错,然后我不知道我需要的库生成在哪里,然后往上翻日志:
- ******** Summary ********
-- CMake version : 3.6.3
-- CMake command : /usr/local/bin/cmake
-- System : Linux
-- C++ compiler : /usr/bin/c++
-- C++ compiler version : 5.4.0
-- CXX flags : -fvisibility-inlines-hidden -fopenmp -Wnon-virtual-dtor
-- Build type : Release
-- Compile definitions : ONNX_ML=1
-- CMAKE_PREFIX_PATH : /data_1/Yang/software_install/Anaconda1105/bin/../;/usr/local/cuda
-- CMAKE_INSTALL_PREFIX : /data_2/everyday/0429/pytorch/torch
-- CMAKE_MODULE_PATH : /data_2/everyday/0429/pytorch/cmake/Modules;/data_2/everyday/0429/pytorch/cmake/public/../Modules_CUDA_fix
--
-- ONNX version : 1.4.1
-- ONNX NAMESPACE : onnx_torch
-- ONNX_BUILD_TESTS : OFF
-- ONNX_BUILD_BENCHMARKS : OFF
-- ONNX_USE_LITE_PROTO : OFF
-- ONNXIFI_DUMMY_BACKEND : OFF
--
-- Protobuf compiler :
-- Protobuf includes :
-- Protobuf libraries :
-- BUILD_ONNX_PYTHON : OFF
-- Found CUDA with FP16 support, compiling with torch.cuda.HalfTensor
-- Removing -DNDEBUG from compile flags
-- MAGMA not found. Compiling without MAGMA support
-- Could not find hardware support for NEON on this machine.
找到
-- CMAKE_INSTALL_PREFIX : /data_2/everyday/0429/pytorch/torch
恩,安装到了目录torch下面了。
然后用测试代码,cmakelist,可以加载模型。应该是可以了。
还有注意就是cuda这些环境需要配置好。
好记性不如烂键盘---点滴、积累、进步!