1.首先安裝一些依賴包java
1 yum -y install gcc-c++ qt-devel qt readline libreadline-java readline-devel git cmake gcc curl
2.開始安裝torch7c++
1 #!/bin/sh 2 3 ###################################################################### 4 # Torch install 5 # 6 # This script installs Torch7, and a few extra packages 7 # (penlight, optim, parallel, image). 8 # 9 # The install is done via Luarocks, which enables package 10 # versions. This is the recommended method to deploy Torch, 11 # torch-pkg is being deprecated. 12 # 13 # Once this script has been run once, you should be able to run 14 # extra luarocks commands, and in particular install new packages: 15 # $ luarocks install json 16 # $ torch 17 # > require 'json' 18 # 19 ###################################################################### 20 21 # Prefix: 22 #PREFIX=${PREFIX-/usr/local} 23 PREFIX=$1 24 len_prefix=`echo $PREFIX|awk '{print length($0)}'` 25 if [ $len_prefix -eq 0 ];then 26 echo -e "\033[31;5mPlease input the installation directory..\033[0m" 27 else 28 echo "Installing Torch into: $PREFIX" 29 30 if [[ `uname` == 'Linux' ]]; then 31 export CMAKE_LIBRARY_PATH=/opt/OpenBLAS/include:/opt/OpenBLAS/lib:$CMAKE_LIBRARY_PATH 32 fi 33 34 # Build and install Torch7 35 cd /tmp 36 git clone https://github.com/torch/luajit-rocks.git 37 cd luajit-rocks 38 mkdir build; cd build 39 git checkout master; git pull 40 rm -f CMakeCache.txt 41 cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release 42 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 43 make 44 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 45 make install || sudo -E make install 46 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 47 # check if we are on mac and fix RPATH for local install 48 path_to_install_name_tool=$(which install_name_tool) 49 if [ -x "$path_to_install_name_tool" ] 50 then 51 install_name_tool -id ${PREFIX}/lib/libluajit.dylib ${PREFIX}/lib/libluajit.dylib 52 fi 53 54 # Statuses: 55 sundown=ok 56 cwrap=ok 57 paths=ok 58 torch=ok 59 nn=ok 60 dok=ok 61 gnuplot=ok 62 qtlua=ok 63 qttorch=ok 64 lfs=ok 65 penlight=ok 66 sys=ok 67 xlua=ok 68 image=ok 69 optim=ok 70 cjson=ok 71 trepl=ok 72 73 path_to_nvcc=$(which nvcc) 74 if [ -x "$path_to_nvcc" ] 75 then 76 cutorch=ok 77 cunn=ok 78 fi 79 80 # Install base packages: 81 $PREFIX/bin/luarocks install sundown || sudo -E $PREFIX/bin/luarocks install sundown 82 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 83 $PREFIX/bin/luarocks install cwrap || sudo -E $PREFIX/bin/luarocks install cwrap 84 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 85 $PREFIX/bin/luarocks install paths || sudo -E $PREFIX/bin/luarocks install paths 86 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 87 $PREFIX/bin/luarocks install torch || sudo -E $PREFIX/bin/luarocks install torch 88 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 89 $PREFIX/bin/luarocks install nn || sudo -E $PREFIX/bin/luarocks install nn 90 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 91 $PREFIX/bin/luarocks install dok || sudo -E $PREFIX/bin/luarocks install dok 92 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 93 $PREFIX/bin/luarocks install gnuplot || sudo -E $PREFIX/bin/luarocks install gnuplot 94 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 95 [ -n "$cutorch" ] && \ 96 ($PREFIX/bin/luarocks install cutorch || sudo -E $PREFIX/bin/luarocks install cutorch || cutorch=failed ) 97 [ -n "$cunn" ] && \ 98 ($PREFIX/bin/luarocks install cunn || sudo -E $PREFIX/bin/luarocks install cunn || cunn=failed ) 99 100 $PREFIX/bin/luarocks install qtlua || sudo -E $PREFIX/bin/luarocks install qtlua 101 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 102 $PREFIX/bin/luarocks install qttorch || sudo -E $PREFIX/bin/luarocks install qttorch 103 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 104 $PREFIX/bin/luarocks install luafilesystem || sudo -E $PREFIX/bin/luarocks install luafilesystem 105 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 106 $PREFIX/bin/luarocks install penlight || sudo -E $PREFIX/bin/luarocks install penlight 107 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 108 $PREFIX/bin/luarocks install sys || sudo -E $PREFIX/bin/luarocks install sys 109 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 110 $PREFIX/bin/luarocks install xlua || sudo -E $PREFIX/bin/luarocks install xlua 111 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 112 $PREFIX/bin/luarocks install image || sudo -E $PREFIX/bin/luarocks install image 113 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 114 $PREFIX/bin/luarocks install optim || sudo -E $PREFIX/bin/luarocks install optim 115 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 116 $PREFIX/bin/luarocks install lua-cjson || sudo -E $PREFIX/bin/luarocks install lua-cjson 117 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 118 $PREFIX/bin/luarocks install trepl || sudo -E $PREFIX/bin/luarocks install trepl 119 RET=$?; if [ $RET -ne 0 ]; then echo "Error. Exiting."; exit $RET; fi 120 121 # Done. 122 echo "" 123 echo "=> Torch7 has been installed successfully" 124 echo "" 125 echo " + Extra packages have been installed as well:" 126 echo " $ luarocks list" 127 echo "" 128 echo " + To install more packages, do:" 129 echo " $ luarocks search --all" 130 echo " $ luarocks install PKG_NAME" 131 echo "" 132 echo " + Note: on MacOS, it's a good idea to install GCC 5 to enable OpenMP." 133 echo " You can do this by with brew" 134 echo " $ brew install gcc --without-multilib" 135 echo " type the following lines before running the installation script" 136 echo " export CC=gcc-5" 137 echo " export CXX=g++-5" 138 echo " For installing cunn, you will need instead the default AppleClang compiler," 139 echo " which means you should open a new terminal (with unexported CC and CXX) and" 140 echo " luarocks install cunn" 141 echo "" 142 echo " + packages installed:" 143 echo " - sundown : " $sundown 144 echo " - cwrap : " $cwrap 145 echo " - paths : " $paths 146 echo " - torch : " $torch 147 echo " - nn : " $nn 148 echo " - dok : " $dok 149 echo " - gnuplot : " $gnuplot 150 [ -n "$cutorch" ] && echo " - cutorch : " $cutorch 151 [ -n "$cunn" ] && echo " - cunn : " $cunn 152 echo " - qtlua : " $qtlua 153 echo " - qttorch : " $qttorch 154 echo " - lfs : " $lfs 155 echo " - penlight : " $penlight 156 echo " - sys : " $sys 157 echo " - xlua : " $xlua 158 echo " - image : " $image 159 echo " - optim : " $optim 160 echo " - cjson : " $cjson 161 echo " - trepl : " $trepl 162 echo "" 163 fi