Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结

2023-10-10 03:59

本文主要是介绍Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu18.04发行已经有一段时间了,正好最近Tensorflow也发布了1.8版本,于是决定两个一起装上,以下是安装总结,大致可

以分为5个步骤

  1. 确认当前软件和硬件环境、版本
  2. 更新显卡驱动,软件版本准备
  3. CUDA 9.0 ToolKit安装
  4. cuDNN7.1.3 for CUDA9.0安装
  5. TensorFlow GPU 安装
  6. Test it!

1.确认硬件软件环境、版本

系统版本,Ubuntu18.04 自然没什么好说的, 使用指令sudo lsb_release -a ,得到以下输出结果

GCC和G++ 版本,18.04的ubuntu默认的是7.0,同时也有附带安装6.0,不过我们这次安装需要更低版本的GCC以及G++

gcc --version  #查看GCC版本号 gcc (Ubuntu 7.0 -4ubuntu8) 7.0
g++ --version  #查看G++版本号 g++ (Ubuntu 7.0-4ubuntu8) 7.0

我选择采用的是4.8版本gcc和g++,后面给出降级方法。

英伟达显卡驱动版本, 使用nvidia-smi 可以得到相关信息,我使用的是GTX1080显卡,驱动已经更新到390.48版本。

表头释义: 
Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A; 
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示; 
Bus-Id:涉及GPU总线的相关信息; 
Disp.A:是Display Active的意思,表示GPU的显示是否初始化; 
Memory Usage:显存的使用率; 
Volatile GPU-Util:浮动的GPU利用率;
Compute M:计算模式;

Python 版本, 使用python -V 查看相关信息。


2.更新显卡驱动,软件版本准备

主要是更新显卡驱动,以及降级默认GCC/G++版本.

如果是已经装过NVIDIA显卡驱动,通过以下指令升级

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt update 
sudo apt install nvidia-390

如果有NVIDIA显卡,但是没有安装过显卡相应驱动,CUDA Toolkit中会有集成的384版本驱动,需要关闭图形界面到指令行界面

安装,相关方法请上网查找。

GCC降级

sudo apt-get install gcc-4.8 
sudo apt-get install g++-4.8

装完后进入到/usr/bin目录下 

ls -l gcc*

会显示以下结果

lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.0

发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:

sudo mv gcc gcc.bak #备份 
sudo ln -s gcc-4.8 gcc #重新链接

同理,对g++也做同样的修改:

ls -l g++* 
lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.0

需要将g++链接改为g++-4.8:

sudo mv g++ g++.bak 
sudo ln -s g++-4.8 g++

再查看gcc和g++版本号:

gcc -v 
g++ -v

均显示gcc version 4.8 ,说明gcc 48.8安装成功。


3.CUDA ToolKit 安装

CUDA 到CUDA9.0 下载页面下载runfile(最近NVIDIA官网被停)安装,Tensorflow官网给的暂时还是9.0版本,新版本可以尝试一下

稳妥起见,这里选择9.0。

下载9.0安装包和2个补丁包之后,

~/下载 文件夹应该有 以下三个文件

ls |grep cuda_9.0cuda_9.0.176.1_linux.run 
cuda_9.0.176.2_linux.run 
cuda_9.0.176_384.81_linux.run

在确认GCC版本在4.8后, 直接输入以下指令

sh cuda_9.0.176_384.81_linux.run --override

执行,如果有安装了显卡驱动的,注意在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。 如果没有安装显卡

驱动,需要退出图形界面,到命令行终端安装,这里不再赘述。

安装完成后,可能会得到提示,CUDA 安装不完整,这是因为显卡驱动没有安装,这里忽略掉。同样的方法安装两个补丁包.

sh cuda_9.0.176.1_linux.run 
sh cuda_9.0.176.2_linux.run

安装完毕之后,将以下两条加入.bashrc文件中

echo 'export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
source ~/.bashrc

4.cuDNN7.1.3安装

cuDNN 到 cuDNN 官网页面下载即可,这里注意要选择对应CUDA9.0的软件包, 下载完毕后,切到默认的Downloads文件夹,

可以看到 cudnn-9.0-linux-x64-v7.1.tgz 压缩包 

先解压,后复制到CUDA安装文件夹里面

tar zxvf cudnn-9.0-linux-x64-v7.1.tgz
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*

完成后,可以到~/NVIDIA_CUDA-9.0_Samples/文件夹下测试CUDA功能完整性

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


5.Tensorflow 安装

这里选择的是在本机上安装Tensorflow,其他安装方式可以参照官网介绍。

pip install tensorflow-gpu

默认安装最新版本1.8,如果要安装教老版本, 上述指令后面加上==$版本号 即可。


6.验证测试

在python3 中输入以下代码

# -*- coding: utf-8 -*-
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
a = tf.constant([1.0,2.0],shape=[2],name='a')
b = tf.constant([2.0,3.0],shape=[2],name='b')
result = a+b
print(result)
print(a.graph is tf.get_default_graph)
sess = tf.Session()
print(sess.run(result))
print(result)
g = tf.Graph()
with g.device('gpu:0'):result = a+b print(sess.run(result))

输出结果应该是 :

并且附带上GPU相关信息。

至此安装过程全部完成。


在终端执行程序时指定GPU   

CUDA_VISIBLE_DEVICES=1   python  your_file.py

这样在跑你的网络之前,告诉程序只能看到1号GPU,其他的GPU它不可见

可用的形式如下:

CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1         Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1"       Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3       Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES=""          No GPU will be visible

在Python代码中指定GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

设置定量的GPU使用量

config = tf.ConfigProto() 
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 
session = tf.Session(config=config)

设置最小的GPU使用量

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config)  

 

这篇关于Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/177782

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者