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
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和主机名对应上