ubuntu18.04 安装 TensorFlow 教程
- 一. 安装ubuntu18.04
- 二. 安装Anaconda
- 2.1 Anaconda 镜像使用
- 2.1.1 anaconda配置清华大学开源软件镜像
- 2.2 Miniconda 镜像使用帮助
- 2.3 Conda 三方源
- 2.4 修改pip镜像解决下载慢的问题
- 三. ubuntu的一些设置
- 3.1 ubuntu root默认密码(初始密码)
- 3.2 在ubuntu下永久修改主机名
- 3.2.1 deb/ubuntu上永久修改
- 3.2.2 临时修改主机名的方法
- 3.3 ubuntu18.04安装sougou输入法
- 四. ubuntu18.04 安装JDK1.8
- 4.1 通过tar包安装
- 4.2 通过ppa(源) 方式安装
- 五. ubuntu18.04安装bazel
- 六. 安装CUDA和cuDNN
- 6.1 安装CUDA
- 6.2 安装cuDNN
- 6.3 查看CUDA和cuDNN版本
- 6.3.1 查看CUDA版本
- 6.3.2 查看cuDNN版本
- 6.4 卸载CUDA和cuDNN
- 七. 安装TensorFlow
- 7.1 使用pip安装
- 7.2 使用Bazel从源代码编译安装
- 7.3 TensorFlow版本
一. 安装ubuntu18.04
1.双系统安装ubuntu教程参考链接: 亲测!Ubuntu18.04与WIN10双系统(USB EFI方式安装—Grub2.0引导修复)完整教程.
二. 安装Anaconda
- 官网下载sh镜像文件.
- cd至下载目录
bash filename.sh
- 选择安装位置,默认即可.
- binary add to .bashrc choose yes or no
- 执行
python
spyder
jupyter noteboo
2.1 Anaconda 镜像使用
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。
TUNA 还提供了 Anaconda 仓库的镜像,运行以下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
即可添加 Anaconda Python 免费仓库。
运行 conda install numpy 测试一下吧。
2.1.1 anaconda配置清华大学开源软件镜像
在anaconda安装好之后,默认的镜像是官方的,由于官网的镜像在境外,使用国内的镜像能够加快访问的速度。这里选择了清华的的镜像。镜像的地址如下:anaconda清华大学开源软件镜像。Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。
在Anaconda Prompt中运行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
前往当前用户的目录下,查看.condarc文件
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
注意:配置完成之后,要关闭控制台再重新打开控制台,这样新配置的文件才会被加载进来。
2.2 Miniconda 镜像使用帮助
Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 python 和 conda,但是可以通过 pip 和 conda 来安装所需要的包。
Miniconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载。
2.3 Conda 三方源
当前tuna还维护了一些anaconda三方源。
Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
其他三方源
对于conda的其他三方源,如有需要请在这个issue中提出请求,我们会综合考虑多方因素来酌情增减。
2.4 修改pip镜像解决下载慢的问题
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
#方法一:临时添加镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple XXX
#方法二:永久添加镜像
#vim ~/.pip/pip.conf #没有就创建一个,注意.pip为隐藏文件夹
#修改为:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install]
trusted-host=mirrors.aliyun.com
三. ubuntu的一些设置
3.1 ubuntu root默认密码(初始密码)
ubuntu安装好后,root初始密码(默认密码)不知道,需要设置。
- 先用安装时候的用户登录进入系统
- 输入:sudo passwd 按回车
- 输入新密码,重复输入密码,最后提示passwd:password updated sucessfully
此时已完成root密码的设置 - 输入:su root
切换用户到root试试…
3.2 在ubuntu下永久修改主机名
3.2.1 deb/ubuntu上永久修改
查看主机名:
修改主机名:
重启后生效
3.2.2 临时修改主机名的方法
显示主机名:
zhouhh@zzhh64:~$ hostname
zhh64
修改主机名:
zhouhh@zzhh64:~$ sudo hostname zzofs
zhouhh@zzhh64:~$ hostname
zzofs
3.3 ubuntu18.04安装sougou输入法
#首先安装fcitx
sudo apt-get install fcitx-bin
#安装输入法
sudo apt-get install fcitx-table
#sougou拼音输入法依赖与fcitx,所以现在开始安装sougou输入法
sougou输入法链接 #参照sougou输入法安装指南安装即可
四. ubuntu18.04 安装JDK1.8
安装JDK1.8为第五节安装bazel提供环境,如果不考虑7.2节的TensorFlow安装方式,可直接跳至第六节继续。
4.1 通过tar包安装
转载至
- 去oracle官网下载
- 解压
tar -zxvf jdk-8u171-linux-x64.tar.gz1
- 移动到自己想放的位置
#将文件从下载目录 挪到/usr/local下
sudo mv jdk1.8.0_171 /usr/local/jdk1.812
#检查路径是否为根目录
- 设置环境变量
方案一:修改全局配置文件,作用于所有用户:vim /etc/profile
方案二:修改当前用户配置文件,只作用于当前用户:vim ~/.bashrc 设置与上一样
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.?{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.?{JAVA_HOME}/bin:$PATH
- 使修改的配置立刻生效
对应方法一:
source /etc/profile
对应方法二:
source ~/.bashrc - 设置默认jdk
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/local/jdk1.8/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/local/jdk1.8/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/local/jdk1.8/bin/javap 300
- 执行
sudo update-alternatives --config java
- 检查是否安装成功
java -version
4.2 通过ppa(源) 方式安装
转载至
- 添加ppa源
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
- 安装oracle-java-installer(jdk8版本)
sudo apt-get install oracle-java8-installer1
- 设置默认的jdk,可以安装多个jdk版本
sudo update-java-alternatives -s java-8-oracle
- 测试jdk是否安装成功
java -version
javac -version
五. ubuntu18.04安装bazel
- 首先,安装jdk8.
- 然后安装Bazel的其他依赖的工具包.
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3
- 在Bazel的GitHub发布页面下载安装包(https://github.com/bazelbuild/bazel/releases),选择bazel-0.15.0-installer-linux-x86_64.sh,然后运行:
#把bazel--installer-linux-x86_64.sh复制到其他没有中文路径的文件下,再安装!!!
chmod +x bazel-0.24.0-installer-linux-x86_64.sh
./bazel-0.24.0-installer-linux-x86_64.sh --user
export PATH="$PATH:$HOME/bin"
- 安装TensorFlow依赖的其他工具包.
sudo apt-get install python3-numpy swig python3-dev python3-wheel
- 输入bazel测试安装.
bazel
六. 安装CUDA和cuDNN
安装前请先查看CUDA对应预安装TensorFlow版本号!
6.1 安装CUDA
CUDA(Compute Unified Device Architecture,统一计算设备架构)是显卡厂商NVIDIA推出的使用GPU资源进行复杂通用并行计算(Gernal Purpose GPU)的SDK。在安装CUDA之后,我们就可以用C、C++以及其他语言对GPU进行底层编程。CUDA的官方文档链接为:CUDA官方文档,CUDA的官方例程链接为:CUDA Sample,安装CUDA具体步骤如下:
- 首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:
ubuntu-drivers devices
- 安装驱动
sudo ubuntu-drivers autoinstall
#安装CUDA自动安装NVIDIA显卡驱动,此步骤可以跳过
- 安装CUDA
在NVIDIA的官网也提供了CUDA的下载地址CUDA Toolkit,还给出了对应文件格式的安装方式,建议选择“deb(local)”进行安装。
下载完成后,打开终端并使用cd命令切换到文件的下载目录,依次执行:
sudo -s
#建议参考Installation Instructions
sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-*-* #CUDA版本号
- 重启之后要验证CUDA是否安装成功,切换至目录/usr/local/cuda/samples,之后执行以下make命令:
make all
#该命令的执行需要root权限,因为刚刚重启过,可以先执行sudo -s命令获取root权限
cd /usr/local/cuda/extras/demo_suite
deviceQuery
6.2 安装cuDNN
cuDNN同样是由NVIDIA推出的。对比标准的CUDA,它的底层使用了很多目前先进的接口和技术(遗憾的是这些没有对外开源),并且在一些常用的神经网络操作上进行了算法性能的提升,比如卷积、池化、归一化以及激活层等,因此深度学习中的CNN(Convolutional Neural Network,卷积神经网络)和RNN(Recurrent Nerual Network,循环神经网络)的实现得以高度优化。
- 下载cuDNN安装包
在NVIDIA官网可以下载cuDNN安装包,下载之前需要免费注册或者登录,cuDNN官方文档链接:。 - 安装cuDNN
以.tgz或者.tar.gz为扩展名的是一种压缩文件,都是用tar与gzip压缩得到的。使用tar命令可以将许多文件一起保存进行归档和压缩,也可以从归档和压缩中单独还原所需文件。在终端进入到tgz文件的目录下,并运行:
tar -zxvf cudnn-10.1-linux-x64-v7.5.0.56.tgz
#在命令选项中,-z表示通过gzip过滤归档;-x表示从归档文件中释放文件;-v表示详细报告tar处理的信息;-f表示使用归档文件或设备。
cd cuda
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
#接下来,更新cuDNN库文件的软链接
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.5.0
sudo ln -s libcudnn.so.7.5.0 libcudnn.so.7
sudo ln -s libcudnn.so.7.5.0 libcudnn.so sudo ldconfig
- ubuntu中设置CUDA的路径
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:usr/local/cuda-10.1/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.1
export PATH=/usr/local/cuda-10.1/bin:$PATH
6.3 查看CUDA和cuDNN版本
6.3.1 查看CUDA版本
cat /usr/local/cuda/version.txt
6.3.2 查看cuDNN版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
6.4 卸载CUDA和cuDNN
sudo apt-get --purge remove cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48
sudo apt-get --purge remove cuda-*-10-0 #10-0为对应版本号
sudo rm -rf /usr/local/cuda*/
七. 安装TensorFlow
TensorFlow和CUDA、cuDNN对应版本关系如下图:
7.1 使用pip安装
当用户的系统环境比较特殊,比如gcc版本较新或者想要定制化TensorFlow时,不推荐这种安装方式。
#首先建议新建虚拟环境用于隔离各工程项目:
Conda create –n env_name python=3.5 anaconda
(Conda create –n env_name python=3.6 anaconda)
#然后激活所创的环境:
Source activate env_name
#执行命令:
Pip install tensorflow-gpu=1.5.0(以上的都可以)
验证代码:
>>> import tensorflow as tf
>>> hello = tf.constant(‘Hello, TensorFlow!’)
>>> sess = tf.Session()
>>> print sess.run(hello)
#如果成功运行则环境安装完成。
官方验证代码:
参考TensorFlow GitHub官方链接
python
>>>import tensorflow as tf
>>>tf.enable_eager_execution()
>>>tf.add(1, 2).numpy()
3
>>>hello = tf.constant(‘Hello, TensorFlow!’)
>>> hello.numpy()
‘Hello, TensorFlow!’
7.2 使用Bazel从源代码编译安装
从源代码编译并安装的大概过程就是先下载没有编译的源代码文件,之后配置编译选项并用bazel工具进行编译,编译结束后再将其打包成.whl文件,最终通过pip方式安装这个.whl文件。该过程可参考从源代码构建。
7.3 TensorFlow版本
python
>>>import tensorflow as tf
>>>tf._version_
#查询tensorflow安装路径为:
>>>tf._path_
- 安装器会提示是否同意条款,根据提示选择yes即可,若不想手动输入,则可以采用以下方式自动完成:
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections ↩︎