tensorflow 安裝


PIP安裝方式

1.准備工作

CentOS版本要求

yum -y install git

yum -y install zlib*

yum -y install gcc*

python2.7

cuda

安裝 Cuda Toolkit 7.5 and cuDNN v4.

 

Download and install Cuda Toolkit

 

https://developer.nvidia.com/cuda-downloads

 

Install the toolkit into e.g. /usr/local/cuda

Download and install cuDNN

https://developer.nvidia.com/cudnn

解壓縮后 將文件輔助到 cuda的安裝目錄下對應的地址,默認cuda陌路下有include,lib兩個link ,輔助到link對應的目錄下

 

2.安裝pip

yum install python-pip python-dev

 

3.通過pip安裝帶有GPU支持的tensorflow

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

安裝完成后 默認路徑在 

/usr/lib/python2.7/site-packages/tensorflow

 

補充:卸載tensorflow

sudo pip uninstall   https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

 

4.運行測試

$ cd tensorflow/models/image/mnist
$ python convolutional.py
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Epoch 0.00
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Epoch 0.12
Minibatch loss: 3.285, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%
 

 

5.問題解決

could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM

通過pip安裝 必須使用cudnn V4,只有通過源碼安裝才支持其他cudnn版本!

——————————————————————————————————————————————————————————

源碼安裝方式

1.下載tensorflow源碼

git clone --recurse-submodules https://github.com/tensorflow/tensorflow

切換到當前release版本

查看版本

cd   /data/tensorflow/ (tensorflow的源代碼目錄)

git tag 

切換版本

git checkout  v0.8.0rc0

 

2.安裝bazel

下載文件bazel-0.2.3-installer-linux-x86_64.sh文件

wget    https://github.com/bazelbuild/bazel/releases/download/0.2.3/bazel-0.2.3-installer-linux-x86_64.sh

安裝bazel命令

chmod +x bazel-0.2.3-installer-linux-x86_64.sh

./bazel-0.2.3-installer-linux-x86_64.sh --user

參考文檔:

http://bazel.io/docs/install.html

 

3.安裝依賴包

yum -y install epel-release(centos 7需要執行)

 yum -y install numpy swig python-devel python-wheel python-pip

pip install --upgrade pip

 

4.配置安裝(確定已經安裝cuda,cudnn)

在源碼目錄運行 

cd   /data/tensorflow/ (tensorflow的源代碼目錄)

./configure

(全部采用默認配置,選擇y和回車,0.9按以下截圖操作)

 
5.安裝
創建pip包並安裝(若安裝分布式,操作完后加上分布式編譯那一步即可,當成兩個包來操作):

bazel build -c opt  --config=cuda //tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg 

 

出現錯誤:cp: cannot stat ‘bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/tensorflow’: No such file or directory

直接打開文件 /home/data/tensorflow/tensorflow/tools/pip_package/build_pip_package.sh,修改路徑成(標紅為修改部分, 0.9不需要修改)

######################

 cp -R \

bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/__main__/{tensorflow,external} \
${TMPDIR}
# protobuf pip package doesn't ship with header files. Copy the headers
# over so user defined ops can be compiled.
rsync --include "*/" --include "*.h" --exclude "*" --prune-empty-dirs -a \
bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/__main__/google \
${TMPDIR}
rsync -a \
bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/__main__/third_party/eigen3 \
${TMPDIR}/third_party

######################

 

6.執行成功上面命令安裝tensorflow命令如下

sudo pip install /tmp/tensorflow_pkg/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

 

7、運行測試(使用普通賬號也執行相同命令)

cd /usr/lib/python2.7/site-packages/tensorflow/models/image/mnist

python  convolutional.py

 

 

8.編譯tutorials_example_trainer包
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

 

bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

 

運行無誤即可

 

9.查看tensorflow的安裝版本

pip list | grep ten’

 

已知問題(今天安裝未出現)

安裝時報錯 

 

ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

增加--default-timeout=100 

pip --default-timeout=100  install --upgrade …………

 

補充:

環境變量配置如下(僅作參考)

export JAVA_HOME=/opt/jdk1.8.0_91

export BAZEL_HOME=/usr/local/lib/bazel

PATH=$JAVA_HOME/bin:$BAZEL_HOME/bin:$PATH:$HOME/bin:

export PATH

 

修改/etc/hosts文件,將ip和主機名對應上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM