Ubuntu20.04安装配置tensorflow2深度学习环境

Ubuntu20.04安装配置tensorflow2深度学习环境

之前在windows下配置了tensorflow2的环境,坑有不少。最近配了台台式机,2070显卡,安装一下Ubuntu20.04系统,具体过程如下,分享给之后安装Ubuntu20系统的同学,仅供参考。

一、Ubuntu20.04系统安装

从Ubuntu官网http://cn.ubuntu.com/download/下载系统的iso文件 ,我们选择20.04版本。

系统安装参考:Ubuntu安装。只要按照步骤做好U盘启动,进入Ubuntu系统后,等待配制完成即可。如果没有中文输入法,请参考:fcitx中文输入

二、安装Anaconda环境

1、下载Anaconda安装包:官网下载地址

    进入官网点击如下图所示Download按钮:

网页直接会移动至最底下如图所示:

分别有windwos、Mac和Linux版本,我们选择最右面的Linux,并且选择第一个64-Bit(x86) Installer(550MB)下载。

2、安装Anaconda安装包

进入到Anaconda安装包目录,bash命令直接运行下载的Anaconda文件。

bash Anaconda3-2020.07-Linux-x86_64.sh

注:每个人的文件名是不一样的,直接bash你下载的Anaconda的文件。

它会蹦出几个让你选择yes or on的选项,直接yes即可。等待安装完成后会出现大致如下图所示:

配置Andonda的环境变量,输入:

gedit ~/.bashrc

会出现环境变量文件,在最后一行输入你的Anaconda/bin的路径:

export PATH="/home/你的Anaconda的路径/bin:$PATH"

运行一下下面的指令,激活Anaconda环境,看是否安装成功:

conda activate

进入到Anaconda环境下,查看python版本: 

python -V

如果出现下图所示:

出现GCC提示里面是Anaconda的信息,则说明Anaconda已经安装成功。

也可以在shell中输入jupyter notebook,查看是否安装成功。

三、安装tensorflow

首次安装好Anaconda环境之后,创建虚拟环境:

conda create -n tf

激活虚拟环境:

source activate tf

安装tensorflow:

conda install tensorflow

接下来就是等待安装一堆工具包:

安装好之后,测试tensorflow是否安装成功:

import tensorflow as tf

CPU版的tensorflow一般不会出问题,安装好CPU版本的tensorflow之后,最要命的就是GPU版的tensorflow,接下来安装GPU版本的tensorflow,直接运行命令:

conda install tensorflow-gpu

输入命令之后如下如所示,缺少什么驱动,它都会自动下载,真是比windows下配置tensorflow-GPU环境爽多了(我可能天真了)。 

输入y,进入安装。接下来仍然是等待它自动安装完成。

如上图,已经安装完成,测试一下是否安装成功,输入python3进入python编辑环境,输入

import tensorflow as tf

进入python环境,查看tensorflow版本是否为GPU:

import os
from tensorflow.python.client import device_lib
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"

if __name__ == "__main__":
    print(device_lib.list_local_devices())

最怕的结果发生了,提示我的是CPUo(╥﹏╥)o,如下图。

那么,我们只能针对对应版本的CUDA、CUDNN、tensorflow安装环境,首先进入CUDA,我安装的是Ubuntu20.04,对应版本的是CUDA11,找不到对应的cudnn,后期也会出现与其他软件不兼容的情况,所以我选择安装CUDA10.2版本,这个版本是我之前在windows环境搭建时候用的。CUDA官网:cuda10.2,选择runfile(local)。

下载之前查看一下支持的CUDA版本

nvidia-smi

我的提示错误:

说明我没有安装,下载nvidia驱动,点击附加驱动,选择对应版本的驱动,我的是2070显卡。

命令下载CUDA10.2:

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

 下载时间比较久,安装完成之后,会出现下图,点击continue:

出现下图,输入accept:

出现下图,直接install即可,等待安装完毕:

完成安装后,打开环境变量配置文件(gedit ~/.bashrc)配置CUDA环境变量,输入你的cuda路径(我的如下):

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

配置完成后,更新环境变量( source ~/.bashrc)。

输入nvcc -V,查看CUDA是否安装成功,如果正确显示版本,则说明CUDA安装完成。

CUDA已经完成安装,接下来登录CUDNN,下载相应的cudnn版本,我们选择匹配cuda10.2的 v8.0.5版本(NVIDIA是需要登录的)。选择cuDNN  Library for Linux版本。

下载完成后解压,进入cudnn解压目录,将cuda/include/cudnn.h文件复制到usr/local/cuda/include文件夹,将cuda/lib64/下所有文件复制到/usr/local/cuda/lib64文件夹中,并添加读取权限:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

到此cudnn安装完成,接下来安装pip,我的是python3.8,我安装的是pip3。


sudo apt-get install python3-pip python3-dev 

pip3安装好之后,安装tensorflow-gpu,我之前安装对应cuda10.2的是tensorflow2.2.0,等待安装完成。

sudo pip3 install tensorflow-gpu 2.2.0

上面这个命令下载速度比较慢,可以通过tensorflow镜像下载,然后本地安装。

从这个镜像网站上选择合适自己的tensorflow版本,我选择的是tensorflow2.2.0。

下载之后,利用pip3离线手动安装:

pip3 install tensorflow_gpu-2.2.0rc3-cp38-cp38-manylinux2010_x86_64.whl

等待安装完成即可:

测试一下,GPU版本的tensoeflow2.2是否安装成功:

终端输入python进入python编辑环境,再次运行之前CPU版本测试tensorflow的的命令:

import os
from tensorflow.python.client import device_lib
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"

if __name__ == "__main__":
    print(device_lib.list_local_devices())

输出下面代码,可以看到GPU安装成功:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 17910963607894806922
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 3581214394208913107
physical_device_desc: "device: XLA_CPU device"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 16698906140402087813
physical_device_desc: "device: XLA_GPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 7491889408
locality {
  bus_id: 1
  links {
  }
}

在利用tensorflow2版本打印一下字符串,以防万一^_^:

import tensorflow as tf

hello = tf.constant('I am Tensorflow2.2.0')
print(hello)

输出:

tf.Tensor(b'I am Tensorflow2.2.0', shape=(), dtype=string)

成功输出字符串,表明tensorflow GPU版本成功安装,可以开始学习了^_^。

(如果出现你安装Ubuntu20.04 GCC版本较高的话(可能是GCC9),降低一下GCC版本,GCC7为好,我这个20.04默认的就是GCC7,所以没有这个问题。)

可以参考这个命令:

apt-get install gcc-7 g++-7 #安装GCC7
#使用update-alternatives命令,切换GCC版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
#查看gcc的默认版本
sudo update-alternatives --config gcc

  • 8
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值