专栏名称: 深度学习与神经网络
关注深度学习教育,关注人工智能前沿科技
目录
相关文章推荐
募格学术  ·  全国最“穷”的211,其实被低估好久了 ·  2 天前  
黄建同学  ·  Manus工作原理↓以及护城河分析-2025 ... ·  2 天前  
爱可可-爱生活  ·  【[102星]Instella:AMD推出的 ... ·  2 天前  
51好读  ›  专栏  ›  深度学习与神经网络

浅入浅出TensorFlow 2 — 零基础安装

深度学习与神经网络  · 公众号  ·  · 2018-04-18 08:30

正文

上篇,Amusi带着大家学习了 浅入浅出TensorFlow 1 — 初识TensorFlow ,今天继续给大家介绍linolzhang大佬的TensorFlow系列课程,带大家零基础安装。


Ps:现在TensorFlow最新发布的版本是TF1.8.0版本,最新版本的功能最强大,但不一定最适用于大家。比如不同项目依赖的TF版本可能不一样,而且最大的问题是最新版本的TF只支持CUDA9.0,所以建议安装适合自己环境的TF。一定要注意安装版本问题,下面以TF1.4.0版本为例。


正文

对一个框架的熟悉过程是从安装开始,今天就带大家熟悉这里面的第一道坎 - 安装

TensorFlow 安装方式总结为:

  • pip安装

  • Docker安装

  • Make源码编译


一. 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版本)

地址: python.org/downloads/wi

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驱动

官网下载地址: nvidia.com/Download/ind

执行命令安装:

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

官网下载地址: developer.nvidia.com/cu

执行下载的 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

官网下载地址: developer.nvidia.com/cu

解压, 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描述文件,进行安装:

storage.googleapis.com/

这是个XML文件,搜索1.4.0版本(截止到目前最新版本)对应的whl文件:

操作系统对应.Whl文件

@ Linux

CPU版本
-- linux/cpu/tensorflow-1.4.0rc0-cp27-none-linux_x86_64.whl
# 33|34|35|36  替换下面的cp33-cp33
-- linux/cpu/tensorflow-1.4.0rc0-cp33-cp33m-linux_x86_64.whl
GPU版本
-- linux/gpu/tensorflow_gpu-1.4.0rc2-cp27-none-linux_x86_64.whl
# 33|34|35|36
--  linux/gpu/tensorflow_gpu-1.4.0rc2-cp33-cp33m-linux_x86_64.whl

Debian CPU版本(only)
-- linux/cpu/debian/jessie/tensorflow-1.4.0rc1-cp27-none-linux_x86_64.whl

云版本Cloudml

CPU版本
-- linux/cpu/cloudml/tensorflow-1.4.0rc0-cp27-none-linux_x86_64.whl
GPU版本(最高版本是1.4.0)
-- linux/gpu/cloudml/avx2_fma/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl

@ Mac

CPU版本
-- mac/cpu/tensorflow-1.4.0rc2-py2-none-any.whl
-- mac/cpu/tensorflow-1.4.0rc2-py3-none-any.whl
GPU version稳定的release(rc0)
-- mac/gpu/tensorflow_gpu-1.4.0rc0-py2-none-any.whl
-- mac/gpu/tensorflow_gpu-1.4.0rc0-py3-none-any.whl

@ Windows 目前仅支持Python 3.5(好像Python3.6也支持了)
CPU版本
-- windows/cpu/tensorflow-1.4.0rc2-cp35-cp35m-win_amd64.whl
GPU版本
-- windows/gpu/tensorflow_gpu-1.4.0rc2-cp35-cp35m-win_amd64.whl


通过URL将对应的 whl 文件下载到本地, 比如作者采用 Py3.5(ubuntu14对应版本),Linux下对应的CPU版本:

# Python 3  $ sudo pip3 install --upgrade tensorflow-1.4.0rc2-cp35-cp35m-manylinux1_x86_64.whl 

也可以根据自己需要,直接配置URL在线 whl 进行安装:

# Python3 version, GPU  $ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.0rc2-cp35-cp35m-linux_x86_64.whl  
  # Python3 version, CPU  $ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0rc0-cp35-cp35m-linux_x86_64.whl  
  # python2.X version, Linux with GPU  $ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.0rc2-cp27-none-linux_x86_64.whl  

需要注意:可能会遇到安装失败的情况,是网络问题,需要多试几次!




二. Docker安装:

在云上部署的情况下常用Docker安装,关于Docker安装作者并不推荐,Docker的学习成本相对较高。




三. Make源码编译:

1.下载源码

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

2. 安装Bazel

可以参考官网安装方法: bazel.build/versions/ma

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. 到 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源,也可以下载文件编译安装,或者下载库替换,这里不再介绍。







请到「今天看啥」查看全文