[Torch]的安装

1 安装Torch

本文介绍Torch7的安装方法,因为本人安装Torch前安装了caffe,所以可能CUDA、cudnn、Blas等Torch可能需要用来的库的安装就不再重复介绍了,相关依赖出现问题的的猿友可以参考史上最全的caffe安装过程

1.1 安装luarock

lua是通过luarock来进行软件包管理的,Torch7的接口是lua,因此需要先安装Lua,本人安装的是lua52,安装过程主要参考Torch官方文档

1.2 参考官方文档遇到的问题

记录参考Torch官方文档安装Torch7出现一些问题。
qlua installation

luarocks install qtlua         //not qlua

(1) error: found unsuitable Qt version from NOTFOUND, this code requires Qt4.x
solution:
1.exclude anaconda env from your path.
Referrence
2.第二步:

sudo apt-get install qt-sdk

(2) error: module ‘qttorch’ not found: no field package.preload[‘qttorch’] it occur when I use qlua to run some sh
solutions:

luarocks install qttorch

(3) error: readline.h not found
after type ./install.sh , error readline.c:7:31: fatal error: readline/readline.h: No such file or directory #include <readline/readline.h>
solution:

sudo apt-get install libreadline-dev

reference

(4) error: luarocks install image , and occur getting connection timed out for couple of hours
solution:

git clone https://github.com/torch/image.git
cd image
luarocks make image-1.1.alpha-0.rockspec

reference

(5) error: module 'hdf5' not found:No LuaRocks module found for hdf5,
while run the generate heatmap model by type “ th run-hg.lua ../data/tennis jpg”
problem:
luarocks download package through git protocol, which will use ssh protocol. So we have to convert git download protocol to https protocol.
Solotion:

git config –global url.https://.insteadOf ssh://git
vim ~/.gitconfig

To certain .gitconfig like:

[url “https://”]
	insteadOf = git://

(最好不要再添加别替换,否则会产生多重替换而我们看不出来。有时候我们在output_log里面看到依然git://github.com,但是这并不一定真实,git://被替换为https://有时候不会显式出来)
then type:

luarocks install hdf5      
#it will print nothing, but running in background.
luarocks intsll hdf5 --verbose     
#It will print all the imformation when downloading and compiling.

Reference

(6) warning: Failed loading manifest while type ”luarocks list”
Failed loading manifest for /home/werner/.luarocks/lib/luarocks/rocks: ~/.luarocks/lib/luarocks/rocks/manifest: No such file or directory
Solution:

mkdir -p ~/.luarocks/lib/luarocks/rocks
luarocks-admin make-manifest --local-tree --tree=$HOME/.luarocks

referrene

(7) error: getrf : Lapack library not found in compile time
solution:

git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make NO_AFFINITY=1 USE_OPENMP=1
sudo make install

then:

CMAKE_LIBRARY_PATH=/opt/OpenBLAS/include:/opt/OpenBLAS/lib:$CMAKE_LIBRARY_PATH 
luarocks install torch

按照以上步骤就能解决问题,网上大多数人都能解决问题。但我们的机器依然报错。
Reference
后来我查看luarocks install torch输出发现:
OpenBlas detected
It seems OpenBlas has not been compiled with Lapack support
Then I try:

sudo apt-get install liblapack-dev

reinstall OpenBlas, then I found following information in top output:
OpenBLAS: Detecting fortran compiler failed. Cannot compile LAPACK. Only compile BLAS.
Google it found:
Reference
error OpenBLAS: Detecting fortran compiler failed. Please install fortran compiler, e.g. gfortran, ifort.
So,

sudo apt-get install gfortran

Then reinstall OpenBlas , it resolved.

posted @ 2017-08-31 20:21  fariver  阅读(6230)  评论(0编辑  收藏  举报