对一个框架的熟悉过程是从安装开始,今天就带大家熟悉这里面的 第一道坎 - 安装。
TensorFlow 安装方式总结为:
一. Pip安装步骤:
1)安装 Pip
Pip是目前使用最多的Python包管理工具。通常Linux和Mac是自带Python环境的(2.X版本,附带pip),如果系统没有安装Python环境,或者你需要使用Python3,可以参考下面的安装步骤:
不同的平台下的安装方式有所区别,常用的平台安装命令:
● Ubuntu 64-bit
$ sudo apt-get install python-pip python-dev # for python $ sudo apt-get install python3-pip python3-dev # for python3
有时会提醒pip升级,处理方法如下:
# You are using pip version 7.1.0, however version 9.0.1 is available. # You should consider upgrading via the 'pip install --upgrade pip' command. $ sudo pip install --upgrade pip # for python $ sudo pip3 install --upgrade pip # for python3
● CentOS, Fedora, RHEL
# for python $ python --version # 自带Python 2.6.6 和 pip $ sudo yum install python-pip python-devel # 命令安装 # for python3 $ sudo yum install epel-release python34 # Python 3.4.5 $ wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py # 未自带pip3,从官网安装
● MAC OS
mac 自带 python2.7 和 pip,如果没有的话,可以通过 下面的方式快速安装:
$ sudo easy_install pip
需要安装3.X版本的话,推荐用home-brew安装:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # 1.可能需要修改权限 $ sudo chown -R $(whoami) /usr/local/Cellar # 2.可能遇到下面错误,需要删掉对应路径,然后update # Error: Could not link: /usr/local/etc/bash_completion.d/brew $ rm -rf /usr/local/etc/bash_completion.d/brew $ brew update $ brew install python3 $ pip3 -V
● Window
a)下载Python安装包 .exe(3.5.3版本)
地址: https://www.python.org/downloads/windows/
Download Windows x86-64 executable installer
b)双击自定义安装
需要修改默认安装位置,配置环境变量 - 选择 "Add Python 3.5 to PATH" 选项。
c)高级选项,选择安装位置,勾选 install for all users
注:windows下也可以考虑 采用 Anaconda 安装,点击查看 安装方法。
2)安装 CUDA
在Ubuntu下安装 CUDA 和 cudnn过程(其他版本类似):
a)安装 NVIDIA驱动
官网下载地址:http://www.nvidia.com/Download/index.aspx?lang=en-us
执行命令安装:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-375 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev
查询安装结果:
sudo reboot # 重启 nvidia-smi
b)安装 CUDA
官网下载地址:https://developer.nvidia.com/cuda-downloads
执行下载的 CUDA安装包(.Run文件)进行安装:
sudo sh cuda_8.0.61_375.26_linux.run
按空格 读完声明文件,Accept 接受安装,除了 驱动(已装完)选 no 之外,其他均选择默认。
c)添加 CUDA 系统路径
添加环境变量,可以加到 profile里,也可以加到 bashrc,在最后加入:
修改 profile 文件,在末尾处添加(不要有空格)
sudo gedit /etc/profile #or gedit ~/.bashrc export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH source /etc/profile # save config(or sudo ldconfig)
通过命令查看CUDA安装是否成功?
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
d)安装 cudnn
官网下载地址:https://developer.nvidia.com/cudnn
解压, Copy到对应 CUDA 目录,并建立软链接。
# 复制头文件和lib文件 sudo cp include/cudnn.h /usr/local/cuda/include/ sudo cp lib64/lib* /usr/local/cuda/lib64/ # 链接动态库 cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 sudo ln -s libcudnn.so.5.x.x libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so
3)安装 TensorFlow
根据你所选择的Python版本,下载对应的TensorFlow描述文件,进行安装:
https://storage.googleapis.com/tensorflow/
这是个XML文件,搜索1.1.0版本(截止到目前最新版本)对应的whl文件:
操作系统
对应.Whl文件
Linux
Linux
CPU版本
linux/cpu/tensorflow-1.1.0rc0-cp27-none-linux_x86_64.whl
# 33|34|35|36 替换下面的cp33-cp33
linux/cpu/tensorflow-1.1.0rc0-cp33-cp33m-linux_x86_64.whl
GPU版本
linux/gpu/tensorflow_gpu-1.1.0rc2-cp27-none-linux_x86_64.whl
# 33|34|35|36
linux/gpu/tensorflow_gpu-1.1.0rc2-cp33-cp33m-linux_x86_64.whl
Debian
CPU版本(only)
linux/cpu/debian/jessie/tensorflow-1.1.0rc1-cp27-none-linux_x86_64.whl
云版本Cloudml
CPU版本
linux/cpu/cloudml/tensorflow-1.1.0rc0-cp27-none-linux_x86_64.whl
GPU版本(最高版本是1.0.0)
linux/gpu/cloudml/avx2_fma/tensorflow_gpu-1.0.0-cp27-none-linux_x86_64.whl
Mac
CPU版本
mac/cpu/tensorflow-1.1.0rc2-py2-none-any.whl
mac/cpu/tensorflow-1.1.0rc2-py3-none-any.whl
GPU version稳定的release(rc0)
mac/gpu/tensorflow_gpu-1.1.0rc0-py2-none-any.whl
mac/gpu/tensorflow_gpu-1.1.0rc0-py3-none-any.whl
Windows
目前仅支持Python 3.5
CPU版本
windows/cpu/tensorflow-1.1.0rc2-cp35-cp35m-win_amd64.whl
GPU版本
windows/gpu/tensorflow_gpu-1.1.0rc2-cp35-cp35m-win_amd64.whl
通过URL将对应的 whl 文件下载到本地, 比如作者采用 Py3.4(ubuntu14对应版本),Linux下对应的CPU版本:
# Python 3
$ sudo pip3 install --upgrade tensorflow-1.1.0rc2-cp34-cp34m-manylinux1_x86_64.whl
也可以根据自己需要,直接配置URL在线 whl 进行安装:
# Python3 version, GPU
$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0rc2-cp35-cp35m-linux_x86_64.whl
# Python3 version, CPU
$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0rc0-cp34-cp34m-linux_x86_64.whl
# python2.X version, Linux with GPU
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0rc2-cp27-none-linux_x86_64.whl
需要注意:可能会遇到安装失败的情况,是网络问题,需要多试几次!
二. Docker安装:
在云上部署的情况下常用Docker安装,关于Docker安装作者并不推荐,Docker的学习成本相对较高。
三. Make编译:
1.下载源码
Git clone --recurse-submodules https://github.com/tensorflow/tensorflow
2. 安装Bazel
可以参考官网安装方法:https://bazel.build/versions/master/docs/install.html
3. 安装tensorflow依赖库
sudo apt-get install Python-numpy swig python-dev python-wheel
4. 配置tensorflow,需要你指定相应文件的安装目录
cd进tensorflow源文件。sudo ./configure
5. 使用Bazel编译构建
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
bazel-bin/tensorflow/cc/tutorials_example_trainer--use_gpu
四. 测试安装:
安装完成,下面要测试安装是否成功,命令行环境测试(注意python 和 python3的语法稍有不同):
# 进入python命令行
$ python # or python3
>>> import tensorflow as tf
>>> str = tf.constant("Hello World!")
>>> se = tf.Session()
>>> print se.run(str) # or print (se.run(str))
当出现预料中的 Hello World! 时,恭喜你,TensorFlow 环境安装成功了,折腾了那边久终于松了一口气,满满的成就感吧。
CentOS下如果出现错误提示: ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found
Failed to load the native TensorFlow runtime.
不用担心,这是你的GLIB版本过低(操作系统版本有点老),解决方法如下:
1. 到 http://ftp.gnu.org/gnu/glibc/
下载 glibc-2.14.tar.gz 以及 对应插件 glibc-ports-2.14.tar.gz
注:安装 glib2.17以上版本不需要 ports 插件,步骤一样。
2. 编译安装
[user@localhost ~]$ tar -xzvf glibc-2.14.tar.gz [user@localhost ~]$ tar -xzvf glibc-ports-2.14.tar.gz [user@localhost ~]$ mv glibc-ports-2.14 glibc-2.14/ports [user@localhost ~]$ cd glibc-2.14 [user@localhost glibc-2.14]$ mkdir build [user@localhost glibc-2.14]$ cd build [user@localhost build]$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin [user@localhost build]$ make -j4 [user@localhost build]$ su [root@localhost build]# make install
3. 替换文件,建立软连接
注:2.17以上版本不需要下面操作,install已经完成了替换。
[root@localhost build]# cp libc.so /lib64/libc-2.14.so # copy [root@localhost build]# rm -rf /lib64/libc.so.6 # 删除原文件 [root@localhost build]# LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6 # 建立软连接 [root@localhost build]# strings /lib64/libc.so.6 | grep GLIBC # 查看是否安装成功
libstdc++ 版本问题:
对应 libstdc++ 报错,处理方式与上面一致,安装新版本gcc即可,具体方式可以配置YUM源,也可以下载文件编译安装,或者下载库替换,这里不再介绍。
五. 配置集成环境:
配置集成环境是大多数情况下开发大型软件必做的一步,很多人都不喜欢用命令行,可以理解,在Linux下我们推荐Eclipse,Windows下推荐VS。
Eclipse配置:
1)配置 java环境
下载并安装 jdk1.8, 配置环境,打开~/.bashrc,加入一行:
export JAVA_HOME=/your path/jdk/jdk1.8 export CLASSPATH=${JAVA_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH source ~./bashrc java -version # 查看版本
2)安装 Eclipse
3)在 Eclipse 中安装pydev插件
Help -> Install New Software... 在弹出的对话框中,点Add 按钮。 Name选择 PyDev,Location输入:http://pydev.org/updates
4)配置 pydev 解释器
在Eclipse菜单栏,点击Windows ->Preferences。
选择左侧列表 PyDev->Interpreter - Python,进入配置。
点击右上角 New按钮, 选择 python.exe的路径,配置完成
VS2015 配置:
Windows下的IDE 推荐2015,因为免费又好用,VS2015集成了Python开发环境,具体配置和使用方法这里就不讲了,自己试一下。
OK,还等什么,新建一个Project,开始你的旅程吧。