点击关注我哦

一篇文章带你避坑安装tensorflow-gpu

本篇文章以 驱动版本:390.87、CUDA:9.0、cuDNN:7.0.1、tensorflow-gpu:1.9.1为例,介绍ubuntu系统下安装tensorflow-gpu的详细步骤。

准备文件:

驱动:NVIDIA-Linux-x86_64-390.87.run

驱动下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn

驱动历史版本:https://www.nvidia.com/Download/Find.aspx?lang=en-us

CUDA:cuda_9.0.176_384.81_linux.run

cuda_9.0.176.1_linux.run

cuda_9.0.176.2_linux.run

cuda_9.0.176.3_linux.run

cuda_9.0.176.4_linux.run

cudnn:cudnn-9.0-linux-x64-v7.tgz

注1:https://www.tensorflow.org/install/source可以查看不同版本tensorflow匹配cuda和cudnn版本。

注2:https://developer.nvidia.com/accelerated-computing-toolkit可以下载CUDA和Cudnn。

1. 准备工作

1.1 配置安装环境

sudo apt-get update
若出现下述错误:Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success
'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;then appstreamcli refresh > /dev/null;fi'
# E: Sub-process returned an error code
执行:sudo pkill -KILL appstreamcli
wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb
===================
sudo apt-get install python-dev python-pip python-nose gcc g++ git gfortran
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential

如果运行过程中出现类似下列错误:

原因:DNS没有配置

解决方法:请参考Linux无法正常解析域名

1.2 禁用自带的显卡驱动nouveau

sudo vi /etc/modprobe.d/blacklist-nouveau.conf
或
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

将文件 blacklist-nouveau.conf 内容改为:

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

继续运行系列命令:

#禁用nouveau 内核模块
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
reboot #重启
lsmod |grep nouveau #无显示则成功 当然驱动没了你的桌面分辨率会比较大。

1.3 进入命令行界面关闭图形化界面

sudo service lightdm stop

如果运行后出现下列错误:

执行以下代码进行安装lightdm:

sudo apt-get install lightdm    #(运行过程中选择Yes)

2 安装新驱动(推荐在root账户下进行安装)

安装命令:

sudo apt-get --purge remove nvidia-* # 将系统中已安装的驱动删除
cd 下载目录
chmod a+x NVIDIA-Linux-x86_64-390.87.run #添加权限
sudo ./NVIDIA-Linux-x86_64-390.87.run --dkms --no-opengl-files

参数备注:

–no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。

-dkms(默认开启)在 kernel 自行更新时将驱动程序安装至模块中,从而阻止驱动程序重新安装。在 kernel 更新期间,dkms 触发驱动程序重编译至新的 kernel 模块堆栈。

该步骤中有可能出现下列错误:(没有则跳过,大概率不会出现)

解决方式1:

ps -e|grep apt-get
# 输出下列内容
5873 ?        00:00:01 apt-get
# 根据输出执行下列命令
sudo kill 5873

解决方式2:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

2.1 关于pre-script failed

运行时,你可能会收到一条 pre-install script failed 信息。这没什么影响,选择继续安装就行,因为预安装脚本包含命令 exit 1,其目标是确保你真的想安装驱动程序。

2.2 安装过程中的选项

dkms 安装最好 选yes

32位兼容 安装最好 选yes

可能出现的错误:

解决方法:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386

注:x-org 最好别安,选no,有的电脑可能导致登录界面黑屏

其他常见错误:

解决方案:

sudo apt install dkms

注:若出现安装失败,重新执行:

sudo apt-get --purge remove nvidia-*

驱动安装成功后显示:

未知错误1:

未知错误2:

注:针对以上两个未知错误,可以选择在root下进行安装,便可避免。(有时候在用户权限下也不会出现该错误)

2.3 安装完成后验证

nvidia-smi #若列出GPU的信息列表,表示驱动安装成功

2.4 开启图形化界面

sudo service lightdm start

3 安装CUDA

3.1 如果已经安装CUDA,需要先卸载

在/usr/local/cuda/bin 目录下,有cuda 自带的卸载工具uninstall_cuda_9.1.pl
cd /usr/local/cuda/bin
sudo ./uninstall_cuda_9.1.pl

3.2 禁用图形化界面

sudo service lightdm stop #禁用X服务
或
sudo /etc/init.d/lightdm stop

3.3 安装CUDA

sudo sh cuda_9.0.176_384.81_linux.run --no-opengl-libs
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run

注:若提示是否安装NVIDIA驱动,选择NO,其他均为accept / y / 默认。(因为在之前已经安装其他版本的驱动)

如下:

sudo service lightdm start
或
sudo /etc/init.d/lightdm start
reboot

3.4 重新进入后,修改环境变量

sudo gedit ~/.bashrc

加入:

export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

注意:上述命令中的cuda-9.0也可以改成cuda,如果cuda是关于cuda-9.0的软链接

source ~/.bashrc

3.5 测试CUDA是否安装成功

方法一:

nvcc -V

方法二:

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

4 配置cudnn

4.1 解压文件

tar -zxvf cudnn-9.0-linux-x64-v7.tgz

4.2 把include/ 和 lib64/目录下的文件拷贝到cuda的安装目录下的include/ 和 lib64里面

cd cuda #解压后的路径
sudo cp -P include/cudnn.h /usr/local/cuda-9.0/include
sudo cp -P lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*

4.3 创建cudnn链接

cd /usr/local/cuda/lib64
# 删除原有版本号,版本号在cudnn/lib64中查询
sudo rm -rf libcudnn.so libcudnn.so.7
# 目的:生成软连接,注意自己下载的版本号(这儿是7.0.5)
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
sudo ldconfig #立即生效

5 安装tensorflow

执行安装命令

pip install tensorflow-gpu==1.9

注:有时候使用pip进行下载或安装时,国外的源下载太慢,而且经常出现断开链接等情况。可以把pip的安装源换成国内镜像,可以大幅度提高下载速度。

常用的镜像源如下:

新版ubuntu要求使用https源,需要注意:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

使用方式举例:

临时使用:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

永久修改:

修改~/.pip/pip.conf(若没有就创建一个文件夹及文件。文件夹加“.”,表示是隐藏文件.)内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

附加内容:windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如上。

确认安装成功

pythonimport tensorflow as tf
print(tf.__version__)

若输出下列版本信息,则证明安装成功:

1.9.1

·  END  ·

HAPPY LIFE

使用pip安装tensorflow-gpu | ubuntu系统相关推荐

  1. window7使用pip 安装 TensorFlow 2.0/1.9.0 CPU版本的说明

    window7 pip 安装 TensorFlow CPU版 系统要求 软件要求 GPU支持 PIP安装 出现的问题及其解决方法 TensorFlow install 说明官网 结果摘要: windo ...

  2. linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)

    本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...

  3. Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡)

    Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡) 参考: https://cyfeng.science/2020/05/02/ubuntu-install-nv ...

  4. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  5. python怎么安装tensorflow-Python使用pip安装TensorFlow模块

    1.首先确保已经安装python,然后用pip来安装matplotlib模块. 2.进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级. ...

  6. Win:Win系统下安装Linux的Ubuntu系统的简介、安装之详细攻略

    Win:Win系统下安装Linux的Ubuntu系统的简介.安装之详细攻略 目录 安装图文教程 1.Ubuntu镜像下载 2.设置空间 3.下载并安装Ultraiso软碟通工具 4.及时备份 5.BI ...

  7. windows10下安装tensorflow(gpu版本)

    windows10安装tensorflow的gpu版本(pip3安装方式) 前言: TensorFlow 有cpu和 gpu两个版本:gpu版本需要英伟达CUDA 和 cuDNN 的支持,cpu版本不 ...

  8. 为了性能,别再用pip安装TensorFlow了

    导读 如果你使用CPU进行模型的训练的话,那么这篇文章对你非常有用,你可以通过一行命令的改变,获得非常大的性能的提升. 别再使用pip安装Tensorflow了! 使用conda来代替,如果你不知道c ...

  9. 用pip安装tensorflow报错SyntaxError: invalid syntax

    用pip安装tensorflow报错SyntaxError: invalid syntax 解决办法:直接在cmd中输入安装语句

  10. cuda9.2环境下pip安装tensorflow非官方轮子

    cuda9.2环境下pip安装tensorflow非官方轮子 对于tensorflow,官方的预编译版本只支持cuda9.0,如果是cuda9.2需要自己编译安装. 但是,github上能够查到热心的 ...

最新文章

  1. Nature会议:驾驭植物微生物组(21年10月22-24,在线,优惠截止9月24日)
  2. thinkphp-join
  3. Spring源码分析——Bean的生命周期
  4. md5加密后的数据如何解密_如何在云中加密数据
  5. C++学习系列笔记(六)
  6. php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
  7. slf4j没有在linux中生成日志,logback+SLF4J 没打印日志
  8. HDU-3072-IntelligenceSystem(tarjan,贪心)
  9. linux虚拟usbgs0,USB模拟串口
  10. 五子棋java_Java五子棋小游戏完整源代码
  11. head first系列pdf下载
  12. Excel学习 -- 数据透视表功能
  13. 普中28335开发攻略_凌乱的DSP笔记(1)-F28335基础知识
  14. 女生节送什么礼物给女友,2022女生节送礼合集
  15. 2021年HSP律所代理品牌侵权案件合集,赶紧查看避免踩坑
  16. win10家庭版调出组策略_正版Win10免费送!这绝对是全网最低价的正版Win10系统
  17. 模型选择——子集选择法(Subset Selection)
  18. 敏捷云数据分析能力获权威认可,一举获得两项亚马逊云科技资质认证
  19. N沟道增强型MOS管原理
  20. 【学生党视角】CSDN问答功能测评以及改进建议

热门文章

  1. JS基础:匿名函数回调函数
  2. (happytime)Onvif Server端口占用 10013问题解决方法
  3. python爬取高德POI并生成shp(关键字搜索/多边形搜索)
  4. 飞书搜索初步分析-以移动端为例
  5. 【解决方案】SkeyeVSS视频安防综合管理平台呵护群众“舌尖上的安全”
  6. 电子商务网站服务器构建,电子商务网站构建技术及应用研究
  7. “富养女儿,穷养儿”的内涵
  8. 聊天室服务端和客户端的实现
  9. 期货长线交易资金管理(浮赢加仓)?
  10. Discuz教程之邮件找回密码邮件发送频率修改