tensorflow GPU训练环境布置

tensorflow GPU训练环境布置

  • 一、显卡驱动安装
    • 1.1 如何处理**Failed to initialize NVML: Driver/library version mismatch的问题**
    • 1.2 卸载旧的版本
    • 1.3 驱动安装
      • 1.3.1 利用apt 安装
      • 1.3.2 手动安装
  • 二、安装CUDA
    • 2.1 确定CUDA版本
    • 2.2 下载文件
      • 1. 找匹配版本
      • 2. 选合适的平台
    • 2.3 安装文件
    • 2.4 验证
      • 2.4.1 下载cuda samples
      • 2.4.2 编译
  • 3.安装 cudnn
    • 3.1 选择版本
    • 3.2 下载
    • 3.3 安装
    • 3.4 验证
  • 4.tensorflow测试
  • 5 大功告成!!!!!!!!!!!!!!!!!!!!!!!!

一、显卡驱动安装

1.1 如何处理Failed to initialize NVML: Driver/library version mismatch的问题

运行如下命令:

nvidia-smi

在服务器上,刚开始测试的时候,驱动的时候,会报如下错误:

Failed to initialize NVML: Driver/library version mismatch

根据网上方法,尝试了各种:如重启、配置环境变量、卸载重新安装等。都没有起作用。根本原因在于:

我的服务器虚拟的,而且我无法控制宿主机

此时,需要查看是那两个版本不匹配:

dmseg |tail -n 10 #后面这个数字可以根据机器上的错误消息的大小进行调整。我在写这篇文章的时候,由于错误已经被处理了,消息内容很难找,我直接加到1000了

会显示如下的内容:

可以看到,我的当前版本内核中的驱动版是525.85.12,而运行在用户太的版是525.105.17

此时,网上有说直接让自动装,需要看当前最新的安装版本是不是与内核版一致。如果不一致,则需要将内核中的卸载掉。而我这个服务器是利用宿主直通的。所以没法卸载。我怀疑是宿主机的版本与内核的一致。而我无法修改宿主机的。所以只能让我能安装的部分与内核保持一致。

1.2 卸载旧的版本

卸载可以使用如下命令:

sudo apt purge nvidia*

卸载后,可以查看当前 apt支持的驱动版本是什么?

1.3 驱动安装

1.3.1 利用apt 安装

如果与你的内核一致或你能控制内核的版本,则可以直接安装,请跳到下节,安装CUDA部分

如果不一致。那么请继续往下看,阅读完本节。

查看可安装版本:

sudo apt list |grep nvidia-driver*

显示内容如下:

在最新的更新中,并没有我需要的版本,其中最后的一行,

在确定无法利用apt` 安装的情况下,可以利用下面的方法来找合适的驱动版本。

1.3.2 手动安装

驱动查找地址:地址

下载完成之后,使用dpkg 进行安装:

 sudo dpkg -i nvidia-driver-local-repo-ubuntu1804-525.85.12_1.0-1_amd64.deb

提示信息如下:

sudo cp /var/nvidia-driver-local-repo-ubuntu1804-525.85.12/nvidia-driver-local-CDA22FB5-keyring.gpg /usr/share/keyrings/
sudo apt update

此时,在apt中还看不到其更新信息,需要在 `/etc/apt/source.list.d/ `下面添加一个list文件:

再进行更新,就会看到以下信息:

sudo apt udpate

查找驱动:

 sudo apt list |grep nvidia-driver

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BfjSQNkx-1683716939458)(https://pic2.imgdb.cn/item/645b6c9c0d2dde57778772ba.jpg)]

可以看到,在上图中,出现了想要安装的驱动。可以直接手动安装:

sudo apt install nvidia-driver-525 # 或者
sudo apt install nvidia-driver-local-repo-ubuntu1804-525.85.12

安装完成后,就不要再更新了,如果升级了,会导致开始进的问题。

此时,驱动已经安装完成了。

nvidia-smi

二、安装CUDA

2.1 确定CUDA版本

安装的CUDA要tensorflow能支持的版本。这一点很重要。如果你安装最新或最高支持的版本,但tensorflow不支持,也没啥用。

可以在以下的地址查看支持信息:地址

部分截图如下:

可以看见:最新版本的tensorflow-2.12.0也就最高支持11.8,所以即使你安装了cuda12.0也没法利用。

2.2 下载文件

下载地址

1. 找匹配版本

2. 选合适的平台

2.3 安装文件

利用给出的命令直接安装。如果之前安装过,就直接清理。

sudo apt purge cuda*

2.4 验证

2.4.1 下载cuda samples

地址

wget https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v11.8.tar.gz
tar -zxvf v11.8.tar.gz
cd Samples/1_Utilities/deviceQuery/
ls

2.4.2 编译

make
./deviceQuery

3.安装 cudnn

3.1 选择版本

同cuda,选择tensorflow支持的版本:8.6

3.2 下载

地址

需要注册一下,注册后,下载页面如下:

3.3 安装

下载完成后,直接利用dpkg进行安装

 sudo dpkg -i cudnn-local-repo-ubuntu1804-8.9.1.23_1.0-1_amd64.deb

这个会自动提示复制签名信息的,我已经安装过了,所以不再提示了。操作如下:

sudo cp /var/cuda-repo-ubuntu1804-11-8-local/cuda-7D65C20C-keyring.gpg /usr/share/keyrings/

更新:

sudo apt update

这三个挨个安装。

3.4 验证

cp -r  /usr/src/cudnn_samples_v8 ~/src/
cd src/cudnn_samples_v8/mnistCUDNN/
make
./mnistCUDNN

上面只是部分截图信息,如果能运行,环境基本部署成功了。

4.tensorflow测试

import tensorflow as tf 
tf.test.is_gpu_available()

5 大功告成!!!!!!!!!!!!!!!!!!!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/18413.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构学习

1. 数据结构概述 数据结构是计算机存储、组织数据的方式;通常情况下,选好数据结构可以带来更高的运行或者执行效率。数据结构的优良直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈&#xff0…

更懂业务的数智平台,应对数智化转型的“千变万化”

本文作者 跨界的申斯基 毫无疑问,随着数智化转型的加速,越来越多的企业正在把数智化战略提升到一个全新的高度,转型的进程也正从“浅层次”的数智化走向“深层次”数智化的阶段。 这也让企业的数智化转型进入到了一个全新的阶段,…

IntelliJ IDEA编辑模板变量详解(Edit Template Variables)

函数描述annotated(“annotation qname”)使用驻留在指定位置的注释创建类型符号。 例如,请参见迭代组中的活动模板。anonymousSuper()为Kotlin对象表达式建议一个超类型。arrayVariable()建议当前作用域中适用的所有数组变量。 例如,请参见迭代组中的活…

基于绝缘状态的煤矿电缆绝缘可视化在线检测系统

摘要:针对供电系统绝缘问题检测技术限制煤炭产量效率的问题,以某煤炭企业6kV井下供电系统为研究对象,开展了在线监测系统设计与应用工作。结果表明,系统工作稳定,满足井下电力电缆绝缘在线监要求,降低了井下…

米哈游的春招实习面经,问的很基础

米哈游的春招实习面经,主要考察了java操作系统mysql网络,这四个方面。 面试流程,共1小时,1min自我介绍,20min写题,剩下问题基础知识。 Java String,StringBuilder, StringBuffer区…

工控机All In One——篇1,pve安装(必读)

工控机All In One——篇1,pve安装 1、背景 满足家庭一机多用,同时满足软路由(主旁路由)、远程控制、NAS(个人存储)等功能 2、准备 硬件 1、J4125工控机 2、一个usb分线器 3、鼠标键盘 4、带HDMI或VGA接…

Android编译优化之混淆配置

Android编译优化之混淆配置 背景 为了使用java8及后续java新版本的特性,Google增加了一步编译过程—脱糖(desugaring),但这一步会导致更长的编译时间,这也是为什么Google会推出D8和R8编译器来优化编译速度。 什么是脱…

网安笔记 09 PKI PMI

PKI PMI PKI 公钥基础设施 public key infrastructure 遵循标准的,利用公钥理论和技术建立的提供安全服务的基础设施 **目的:**身份认证,点滴信息不完整,不可抵赖,提供可靠安全服务 **任务:**可信任数字…

使用@Autowired、@Qualifier、@Primary注解自动装配组件

1.Autowired、Qualifier、Primary注解 1.1.Autowired注解 Autowired注解可以对类成员变量、方法和构造函数进行标注,完成自动装配的工作。 package org.springframework.beans.factory.annotation;import java.lang.annotation.Documented; import java.lang.ann…

数据结构学习记录——哈夫曼树(什么是哈夫曼树、哈夫曼树的定义、哈夫曼树的构造、哈夫曼树的特点、哈夫曼编码)

目录 什么是哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 图解操作 代码实现 代码解析 哈夫曼树的特点 哈夫曼编码 不等长编码 二叉树用于编码 哈夫曼编码实例 什么是哈夫曼树 我们先举个例子&#xff1a; 要将百分制的考试成绩转化成五分制的成绩 if(score < …

固态继电器的优点

固态继电器的优点包括紧凑性、抗冲击性和长寿命。以下是这些 SSR 优势中最重要的优势&#xff0c;让您了解为什么这项技术最适合您的应用&#xff1a; 开关速度快 固态继电器器件的主要优点之一是其开关速度。由于无需移动机械部件&#xff0c;SSR 可以在几微秒内切换。这是对…

【Java笔试强训 35】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;年会抽奖…

小红书达人等级有哪些,达人种草力度判断

小红书对于产品及品牌的传播作用&#xff0c;来自于达人自身的分享。以笔记为媒介&#xff0c;对产品进行情景化展示&#xff0c;从而吸引消费&#xff0c;就被称作是种草。而种草力度的强弱&#xff0c;则与达人等级息息相关。下面&#xff0c;就来跟详细为大家解读。 一、小红…

设计模式——适配器模式(类适配器、对象适配器)

是什么&#xff1f; 我们平时的有线耳机接口分为USB的和Type-C的接口&#xff0c;但是手机的耳机插口却只有一个&#xff0c;像华为的耳机插口现在基本都是Type-c的&#xff0c;那如果我们现在只有USB接口的耳机怎么办呢&#xff0c;这个时候就需要使用到一个转换器&#xff0c…

公路交通气象站——提供及时的交通气象信息服务

我国幅员辽阔&#xff0c;跨经纬度广&#xff0c;气候多样。从气候类型划分&#xff1a;可以分为季风气候、温带大陆性气候和高寒气候。 气象的变化也在直接影响着我国各个地区的道路建设及通行&#xff0c;由于部分路段地势险峻伴随恶劣的气象变化&#xff0c;会直接影响驾驶人…

Java 10 字符串

1.API 1.1API 概述 什么是API ​ API (Application Programming Interface) &#xff1a;应用程序编程接口 java 中的 API ​ 指的就是 JDK 中提供的各种功能的 Java 类&#xff0c;这些类将底层的实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只…

LeetCoed 2, 23, 25, 112, 113

文章目录 1. 两数相加2. K 个一组翻转链表3. 合并 K 个升序链表4. 路径总和I5. 路径总和II 1. 两数相加 题目详情见: LeetCode2. 两数相加 题目描述相对来说比较绕, 我们可以直接理解为两个多位的整数相加, 只不过整数的每一位都是通过链表进行存储; 比如, 整数 342, 通过链表…

三分钟教你Mac下安装VmWare虚拟机

大数据课程课前环境准备&#xff1a;mac中安装三台linux服务器 一、课前准备 准备一台内存最少8G&#xff08;建议16G&#xff09;、cpu i7 4核的电脑 二、课堂主题 安装虚拟化软件VMware准备3台linux虚拟机 三、课堂目标 完成mac下3个虚拟机的安装 四、知识要点 文档说…

浅析智慧充电桩云平台的技术设计方案

自从我国提出“新基建”以来&#xff0c;充电基础设施产业也成为行业的话题与关注焦点。据数据统计&#xff0c;2021年&#xff0c;中国新能源汽车保有量达到784万辆&#xff0c;预计2025年&#xff0c;中国新能源汽车保有量达到2672万辆&#xff0c;2025年充电桩数量将达到654…

【沐风老师】一步一步教你在3dMax中进行UVW贴图和展开UVW的方法

将简单或程序材质应用于对象并不难。但是当表面需要在其上显示某种纹理时&#xff0c;它会变得更加复杂。任何纹理贴图都放在材质的 Diffuse 插槽中&#xff0c;但渲染的结果可能无法预测。这就是为什么我们需要了解 3DMAX 如何将纹理应用于 3D 对象&#xff0c;什么是 UVW 贴图…
最新文章