前言
Pytorch我们都熟悉,是一个优秀的深度学习的运行库,但我们可能也知道Pytorch
的前身torch
。Torch
也是一个优秀的深度学习库,运行语言是lua语言。既然我们有了Pytorch,为什么还要装torch呢?
很简单:
- Torch框架和Pytorch框架类似,熟悉了Pytorch学习torch轻而易举
- Torch框架的设计也很优秀,自定义化相比Pytorch更灵活
- 很多优秀的项目,或者说很多最近的项目很多都是使用Torch编写的
说了这么多,开始安装吧!
安装
以下安装环境在Ubuntu16.04。
因为我们安装torch需要运行在GPU上,首先应该安装好Cuda9.1和cudnn。
相关安装cuda
和cudnn
教程:
https://oldpan.me/archives/ubuntu16-04-install-cuda9-1-solution
https://oldpan.me/archives/pytorch-gpu-ubuntu-nvidia-cuda90
安装搭配好环境后就可以进行安装torch了。
首先自己创建一个文件夹叫做torch
,一般我创建的地址为:home/prototype/torch/
。
cd到当前的文件夹,从github下载源代码:
git clone https://github.com/torch/distro.git . --recursive
下载好后,安装依赖包然后,安装源文件:
./install-deps ./install.sh
因为我们使用的是cuda9.0以上,如果直接安装torch的话需要遇到这种问题:
... [ 15%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorMathReduce.cu.o 2 errors detected in the compilation of "/tmp/tmpxft_00002141_00000000-4_THCTensorMath.cpp4.ii". CMake Error at THC_generated_THCTensorMath.cu.o.cmake:267 (message): Error generating file /home/ubuntu/torch/extra/cutorch/build/lib/THC/CMakeFiles/THC.dir//./THC_generated_THCTensorMath.cu.o lib/THC/CMakeFiles/THC.dir/build.make:112: recipe for target 'lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorMath.cu.o' failed make[2]: *** [lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorMath.cu.o] Error 1 make[2]: *** Waiting for unfinished jobs.... ^Clib/THC/CMakeFiles/THC.dir/build.make:105: recipe for target 'lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorCopy.cu.o' failed make[2]: *** [lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorCopy.cu.o] Interrupt lib/THC/CMakeFiles/THC.dir/build.make:140: recipe for target 'lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorMathPairwise.cu.o' failed make[2]: *** [lib/THC/CMakeFiles/THC.dir/THC_generated_THCTensorMathPairwise.cu.o] Interrupt CMakeFiles/Makefile2:172: recipe for target 'lib/THC/CMakeFiles/THC.dir/all' failed make[1]: *** [lib/THC/CMakeFiles/THC.dir/all] Interrupt Makefile:127: recipe for target 'all' failed make: *** [all] Interrupt
遇到这种错误是因为最新版的cuda和torch不兼容的问题,我们需要设置一下环境变量:
export TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__"
设置好之后,执行:
./clean.sh
清除之前的安装文件。
继续使用命令:./install.sh
安装。
安装编译需要一会时间。
安装好后,会提示设置环境变量,输入yes就行。
然后执行source ~/.bashrc
激活相应的环境变量。
这是在终端输入th就可以呼出torch的控制界面:
prototype@prototype-X299-UD4-Pro:~$ th ______ __ | Torch7 /_ __/__ ________/ / | Scientific computing for Lua. / / / _ \/ __/ __/ _ \ | Type ? for help /_/ \___/_/ \__/_//_/ | https://github.com/torch | http://torch.ch th>
相关组件
配套torch
的相关组件我们一般是Image
图像处理库和Loadcaffe
这个读取caffe
预训练model
的库。
安装Image图像处理库很简单:
luarocks install image
安装loadcaffe的时候可能会需要问题:
luarocks install loadcaffe
会遇到:
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found Torch7 in /home/adityac/torch/install
-- Could NOT find PROTOBUF (missing: PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
PROTOBUF_LIBRARY (ADVANCED)
linked by target "loadcaffe" in directory /tmp/luarocks_loadcaffe-1.0-0-7097/loadcaffe
-- Configuring incomplete, errors occurred!
make: *** No targets specified and no makefile found. Stop.
Error: Build error: Failed building.
这是我们缺少相应的环境包:
sudo apt-get install libprotobuf-dev protobuf-compiler
安装好这个再安装loadcaffe
就没问题了。
这时就可以愉快地使用torch了。
下篇我会讲解如何已经学会Pytorch
的基础上如何快速入门torch
。
参考资料
https://github.com/szagoruyko/loadcaffe/issues/76
https://github.com/torch/cutorch/issues/797
请问
CUDA_cublas_device_LIBRARY(ADVANCED)
linked by target "THC" in directory /home/torch/extra/cutorch/lib/THC
如何解决,和您上面说描述的linked by target "loadcaffe" in directory /tmp/luarocks_loadcaffe-1.0-0-7097/loadcaffe十分相似
解决了么,我也遇到了
Su
我也一样出现该问题!!!! 请教怎么解决的?
谢啦兄弟!!困扰了好几天,终于解决了!感谢!
不客气~
我装torch的时候,执行了bash install-deps命令后出现了 “E:软件包 python-software-properties 没有可安装候选 ” 的错误,网上找了一些办法并没有用
我是ubuntu 16.04的系统