【学习AI-相关路程-工具使用-自我学习-NVIDIA-cuda-工具安装 (1)】

【学习AI-相关路程-工具使用-自我学习-NVIDIA-cuda (1)】

  • 1、前言
  • 2、环境配置
      • 1、对于jetson orin nx 的cuda环境
      • 2、对于Ubuntu 20.04下cuda环境
  • 3、自我总结-安装流程
    • 1、在ubuntu下,如果想使用cuda平台,应该注意什么 和 都安装什么
      • (1)系统要求
      • (2)硬件要求
      • (3)安装NVIDIA驱动
      • (4)安装CUDA
          • 1、参考视频
          • 2、下载链接
          • 3、选择版本
          • 4、根据自己电脑选择合适版本
          • 5、之后的安装命令
      • (5)安装cuDNN
          • 1、了解cuDNN
          • 2、下载对应版本cuDNN
          • 3、解压打开
          • 4、找到文件位置
          • 5、给文件“777”权限,命令复制文件
      • (6)配置环境变量
      • (7)验证安装
      • (8)软件依赖和开发软件
  • 4、知识了解
    • (1)cuda 与组件套装
    • (2)AI相关基础知识
  • 5、jetson 安装cuda
  • 6、ubuntn安装cuda
  • 7、细节部分
    • 1、参考视频-感谢
    • 2、降低版本问题
    • 3、运行hello world 项目问题
    • 4、其他版本安装失败问题
    • 5、装错其他版本要删除
    • 6、保证复制文档的时候,文件链接条件成立
  • 8、总结

1、前言

大致摸索了学习路线,但是学习一些概念的过程中,其实没有什么实感的,因为你只是学习东西,并没有什么抓手,让你实实在在感觉,你确实学习了些东西,但是又好像啥也没学,这种感觉很不好。

所以我们需要一个抓手,或者工具,至少可以写写代码,看看代码,让自己了解,AI相关编程是这个样子的,找到的就是cuda平台,对于我们来说,就是cuda套件。

以前学习c语言的时候,挺早以前,我们安装环境是vc++6,一些老程序员,还知道以下这个图标。
在这里插入图片描述

现在的话,就是visco的用的多些吧。
在这里插入图片描述

举这里例子,就是为了说明,我们现在可以通过学习使用cuda,来学习相关AI,这算是一个入口,开发总需要一个工具承载我们的想法。
在这里插入图片描述

2、环境配置

这里有两个环境:
一个是jetson orin NX 安装cuda环境。
一个是Ubuntu 20.04下安装cuda环境。

1、对于jetson orin nx 的cuda环境

一般来说,你要是有个Linux 系统电脑,只可以直接下载一个NVIDIA SDK MANAGER这样的jetson Orin NX 工具,图像界面操作,两天基本也就能基本明白了,这工具,就是自动帮助你完成对 jetson 系列的设备进行刷机,同时还可以安装好cuda等等工具。
在这里插入图片描述
工具链接:https://developer.nvidia.com/sdk-manager
在这里插入图片描述

2、对于Ubuntu 20.04下cuda环境

在ubuntu下,这种非英伟达出品的,一般自己安装环境就比较复杂,自己上网找了很多说明,才勉强安装上,并且有很多注意点,稍有问题就可能安装不成功,这和自己电脑有很多关系。

3、自我总结-安装流程

ubuntu下安装cuda,这块相当复杂,有时候你自己不问明白自己问题,你都不知道怎么做,并且不像使用sdk-manager工具刷jetson那样,工具列表什么的,人家都给你罗列好了,不行你可以反复刷。

1、在ubuntu下,如果想使用cuda平台,应该注意什么 和 都安装什么

(1)系统要求

如下图,所示,一般打开系统设置,基本能查到相关配置,如下两个信息比较关机,首先,你地有NVIDIA 英伟达的显卡才行,人家就是要跑在显卡上的,另外就是你操作系统“Ubuntu 20.04”,之后安装软件什么,都要根据这个信息来,否则真装不上啊。

在这里插入图片描述

就是确保你的Ubuntu版本与CUDA支持的版本相兼容。通常,NVIDIA会在其官方文档中列出支持的操作系统版本。

(2)硬件要求

就是你需要确保你的笔记本或者电脑上有英伟达硬件这个显卡。

  • NVIDIA GPU:确认你的GPU是NVIDIA的,并且支持CUDA。你可以在NVIDIA的官网查看你的GPU是否支持CUDA。
  • 足够的内存和处理器:安装CUDA工具套件和进行CUDA编程通常需要较高的系统资源。

命令行工具如下:

nvidia-smi

如下图中圈出来部分,安装的cuda版本不能高于此版本。
在这里插入图片描述

如果没有nvidia-smi这个工具,可以安装下。

sudo apt update
sudo apt install nvidia-driver

(3)安装NVIDIA驱动

我自己安装驱动,是在开始用这台电脑的时候,当时屏幕显示有问题,也上网查了许多,最后才搞定的。这块确实也记不住了,就是给显卡看着合适驱动。

具体命令差不多忘记了,如下给个参考吧

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

在这里插入图片描述

(4)安装CUDA

1、参考视频

首先这里要感谢伙伴的指导,告诉自己有个相关视频,自己就是学习这个视频安装的。
视频链接:ubuntu 18.04 安装 CUDA 10.2以及cuDNN
在这里插入图片描述
我们安装上述视频尽量简化步骤,打开NVIDIA cuda网页,我们看到的基本如下,我们是无法直接安装最新版本的,因为不支持

2、下载链接

下载链接:https://developer.nvidia.com/cuda-downloads

在这里插入图片描述
所以我们选择其他版本。

3、选择版本

页面链接:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
这里我按照视频选择了版本10.2

在这里插入图片描述

4、根据自己电脑选择合适版本

之后就是按照自己电脑,选择合适版本,我自己笔记本是win系统改linux下,构架是x86_64位的,系统是Ubuntu的,版本是20.04可以选择版本18.04的,选择下载.deb包方式。就是如下图片了。
链接:https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal
在这里插入图片描述
我们可以看到,下面其实已经列出来了,具体操作指令,如果,嫌慢,可按照视频说法,使用浏览器事先下载下来,然后再进行以下步骤安装。
在这里插入图片描述

5、之后的安装命令

将图片中的命令放在下面了

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

以下为自己的尝试与努力

在这里插入图片描述

(5)安装cuDNN

1、了解cuDNN

之后就是安装cuSNN,可以理解为是一个软件库。如下图,其实第一句话也解释了,它就是为gpu提供的一个软件库。
文档链接:https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述

2、下载对应版本cuDNN

如下图所示,我们选择和视频里一样的版本,进行安装。
在这里插入图片描述

3、解压打开

在这里插入图片描述
如上图,我们解压后,进入后,就如下图,我们最终目的是,添加在cuda里对应文件
在这里插入图片描述

4、找到文件位置

如下图,如果没什么问题的话,我们应该可以在如下目录下,见到如下目录,安装视频博主所说,它只是一个链接,需要我们小心操作,如果这个符合没了,就基本重写安装了,或者很麻烦。
在这里插入图片描述

ls /usr/local/cuda-10.2/

在这里插入图片描述

5、给文件“777”权限,命令复制文件

这里我直接给出,过程截图。
在这里插入图片描述
(1)文件复制include

sudo cp -rf cudnn.h /usr/local/cuda-10.2/include/cudnn.h

在这里插入图片描述

(2)文件复制lib64

sudo cp -rf *  /usr/local/cuda-10.2/lib64/

在这里插入图片描述
(3)文件给权限
这里直接给出命令,大家在对应目录下进行操作,先复制后给权限,或者先给权限后复制都可以,命令是固定的,但人是活的。

sudo chmod 777 cudnn.h 
sudo chmod 777 libcudnn.so* libcudnn_static.a 

在这里插入图片描述

(4)以下是我自己操作
在这里插入图片描述

(6)配置环境变量

文件转移完后,就可以配置环境变量了,简单说就是在对于文件下,加入两行文本。
安装完成后,需要配置环境变量以便系统和其他程序能找到CUDA的安装路径:

export PATH=/usr/local/cuda-xx.x/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

这里需要根据自己电脑安装情况,修改文本 。如下 为自己自己的内容
在这里插入图片描述
其中 框起来部分 就是 需要添加的,下边这块 没记错的话,是安装Anaconda中,自动出现的。

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

(7)验证安装

完成上述步骤后,可以使用以下命令来验证CUDA是否安装成功:

nvcc -V

如下如果 出现相关条目基本,认为成 了。
在这里插入图片描述

(8)软件依赖和开发软件

我们注意到工具我们是安装成功,但是我们开发写代码还是没有,我们可以使用Python语言,或者是基于c++的,当然因为篇幅原因,我这里想下载下一篇。

本篇cuda以及套件工具安装。

开发方式可以选择python 或 c++ 。

4、知识了解

(1)cuda 与组件套装

这块见仁见智,网上有不同理解,自己按照自己学习方式,也可以有不同的理解。
这里给网上的一个链接作为参考吧。
博文链接:https://blog.csdn.net/qq_41094058/article/details/116207333
在这里插入图片描述

(2)AI相关基础知识

本篇其实我这里并没有过多,将AI相关基础知识。当时我们不只是要会使用工具,还是用了解其内部原理,这里我直接安装伙伴推荐的,即使现在不马上学习,后续这块该欠下的帐还是补回来的。

如下是伙伴推荐的文章:我这边,在一点点看。
相关链接:GitHub - WZMIAOMIAO/deep-learning-for-image-processing: deep learning for image processing including
在这里插入图片描述

5、jetson 安装cuda

这里就不在啰嗦一遍,直接看如下自己的另一篇文章就可以。
相关链接:【学习AI-相关路程-工具使用-NVIDIA SDK MANAGER==NVIDIA-jetson刷机工具安装使用 】

6、ubuntn安装cuda

上面在介绍具体步骤的时候,都已经说明了,这里就不过多说明了。

7、细节部分

1、参考视频-感谢

还是再次感谢伙伴的指导,自己跟着学习后,确实成功安装了工具。
视频链接:https://www.bilibili.com/video/BV1N54y1r71U/?spm_id_from=333.999.0.0
在这里插入图片描述

2、降低版本问题

这块再开始学习,想要安装cuda的时候,就有相关文章,就提到了,但是不了解什么意思,现在想来,就是想说,电脑版本和GPU版本都会影响你安装的cuda版本以及组件。

所以相关cuda安装文章,都会提到看自己系统配置问题,这块自己作为新手,就是看得云里雾里的,其实就是先确定自己电脑能安装什么版本,然后再去找相应版本,当然可以选项低于当前设备版本。
文章链接:https://blog.csdn.net/kunhe0512/article/details/125061911

3、运行hello world 项目问题

我们刚学习c语音或者其他编程的时候,都会弄个“hello world”的样例,运行下,因为篇幅原因,这里只是说cuda安装,AI里没有通用的“hello world”可以运行,但是我们自己可以搞个简单程序,使用cuda相关函数,来体验下。

这就是之后的文章了。

4、其他版本安装失败问题

如下图,最开始的时候,自己不是明白,以为只要安装最新的版本就完事了。
在这里插入图片描述

但是实际安装的过程中,总是显示安装失败,这里是就是版本不匹配问题,所以有时候,最近的版本不一定是我们能安装的版本。
在这里插入图片描述
如下是,查看这个cuda相关安装问题的日志。

jl@WJL-PC-ubuntu:~$ cat /var/log/cuda-installer.log 
[INFO]: Driver installation detected by command: apt list --installed | grep -e nvidia-driver-[0-9][0-9][0-9] -e nvidia-[0-9][0-9][0-9]
[INFO]: Cleaning up window
[INFO]: Complete
[INFO]: Checking compiler version...
[INFO]: gcc location: /usr/bin/gcc

[INFO]: gcc version: gcc version 7.5.0 (Ubuntu 7.5.0-6ubuntu2) 

[INFO]: Initializing menu
[INFO]: Setup complete
[INFO]: Components to install: 
[INFO]: Driver
[INFO]: 450.51.05
[INFO]: Executing NVIDIA-Linux-x86_64-450.51.05.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd  2>&1
[INFO]: Finished with code: 256
[ERROR]: Install of driver component failed.
[ERROR]: Install of 450.51.05 failed, quitting

5、装错其他版本要删除

如果装错了其他版本,需要先清除其他版本,否则安装记得好像就会有问,以下命令供参考

 1724  sudo dpkg -r cuda-*
 1725  sudo dpkg -r cuda
 1726  sudo dpkg -r cuda-
 1727  sudo apt-get --purge remove "cuda*"

在这里插入图片描述

6、保证复制文档的时候,文件链接条件成立

如下,就是复制文件的时候,保证有如下图标,不要直接拖拽复制啥的,尽量用命令吧。
在这里插入图片描述

8、总结

从一团浆糊,到滤清思路,还是花了不少时间,总是因为版本不匹配问题安装失败,也是非常折磨人的。

不过滤清头绪,从新来看,再总结,清晰多了。

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

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

相关文章

BGE向量模型架构和训练细节

模型论文:https://arxiv.org/pdf/2309.07597 模型数据:https://data.baai.ac.cn/details/BAAI-MTP 训练数据 由无标签数据和有标签数据组成。 无标签数据使用了悟道等数据集,有标签数据使用了dureader等数据集。 都是文本对,对于…

rust使用Atomic创建全局变量和使用

Mutex用起来简单,但是无法并发读,RwLock可以并发读,但是使用场景较为受限且性能不够,那么有没有一种全能性选手呢? 欢迎我们的Atomic闪亮登场。 从 Rust1.34 版本后,就正式支持原子类型。原子指的是一系列…

【redis】Redis数据类型(五)ZSet类型

目录 类型介绍特点补充 使用场景 Zset类型数据结构ziplist:压缩列表(参考之前的文章)skiplist:跳表解析 面试题:MySQL索引为什么用B树而不用跳表区别总结 常用命令ZADD示例 ZREM示例 ZCARD示例 ZCOUNT示例 ZSCORE示例 …

在线OJ——链表经典例题详解

引言:本篇博客详细讲解了关于链表的三个经典例题,分别是:环形链表(简单),环形链表Ⅱ(中等),随机链表的复制(中等)。当你能毫无压力地听懂和成功地…

单调栈|496.下一个更大元素I

力扣题目链接 class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int> st;vector<int> result(nums1.size(), -1);if (nums1.size() 0) return result;unordered_map<int, …

去哪儿网机票服务请求体bella值逆向

作者声明&#xff1a;文章仅供学习交流与参考&#xff01;严禁用于任何商业与非法用途&#xff01;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请联系作者本人进行删除&#xff01; 一、加密定位 直接全局搜索bella&#xff0c;在可疑的地方下断&…

pandas学习笔记12

缺失数据处理 其实在很多时候&#xff0c;人们往往不愿意过多透露自己的信息。假如您正在对用户的产品体验做调查&#xff0c;在这个过程中您会发现&#xff0c;一些用户很乐意分享自己使用产品的体验&#xff0c;但他是不愿意透露自己的姓名和联系方式&#xff1b; 还有一些用…

使用C#和NMODBUS快速搭建MODBUS从站模拟器

MODBUS是使用广泛的协议&#xff0c;通讯测试时进行有使用。Modbus通讯分为主站和从站&#xff0c;使用RS485通讯时同一个网络内只能有一个主站&#xff0c;多个从站。使用TCP通讯时没有这方面的限制&#xff0c;可以同时支持多个主站的通讯读写。 开发测试时有各种复杂的需求&…

05 - 步骤 JSON output

简介 JSON Output 步骤用于将 Kettle 中的行流数据写出到 JSON 格式的文件或流中。它允许用户将 Kettle 中处理过的数据以 JSON 格式进行输出&#xff0c;适用于各种数据处理和交换场景。 什么是行流数据&#xff1f; preview data 中的每一个字段都是一个行流数据 使用 场…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

ton-http-api安装部署

1、拉取github代码 mkdir /data git clone https://github.com/toncenter/ton-http-api.git cd ton-http-api2、创建环境变量 ./configure.py cat .env TON_API_CACHE_ENABLED0 TON_API_CACHE_REDIS_ENDPOINTcache_redis TON_API_CACHE_REDIS_PORT6379 TON_API_CACHE_REDIS_T…

前后端分离实践:使用 React 和 Express 搭建完整登录注册流程

文章目录 概要整体架构流程技术名词解释ReactExpressReact RouterAnt Design 技术细节前端设计后端逻辑数据交互 小结 概要 本项目是一个基于React和Express的简单登录注册系统。通过前后端分离的方式&#xff0c;实现了用户的注册、登录和查看用户列表等功能。前端使用React框…

HCIP第二节

OSPF&#xff1a;开放式最短路径协议&#xff08;属于IGP-内部网关路由协议&#xff09; 优点&#xff1a;相比与静态可以实时收敛 更新方式&#xff1a;触发更新&#xff1a;224.0.0.5/6 周期更新&#xff1a;30min 在华为设备欸中&#xff0c;默认ospf优先级是10&#…

安居水站:《是谁毁掉了下一代?》

在时光的长河中&#xff0c;我们总能听到这样的声音。四十年前&#xff0c;人们惊恐地呼喊&#xff0c;武侠小说会毁掉下一代&#xff1b;三十年前&#xff0c;流行音乐被视为罪魁祸首&#xff1b;二十年前&#xff0c;电视节目背负起这沉重的指责&#xff1b;十年前&#xff0…

WWW‘24 | 课程学习CL+模仿学习IL用于ETF及商品期货交易

WWW24 | 课程学习CL模仿学习IL用于ETF及商品期货交易 原创 QuantML QuantML 2024-05-04 13:47 论文地址&#xff1a;[2311.13326] Curriculum Learning and Imitation Learning for Model-free Control on Financial Time-series (arxiv.org) 本文探讨了在金融时间序列数据上…

大聪明原理

原创 | 刘教链 不知不觉之间&#xff0c;BTC&#xff08;比特币&#xff09;快速完成了一个V形反转&#xff1a;从5月2日低开56.8k连涨3天&#xff0c;重回64k一线&#xff0c;已超过4月30日开盘价63k。反转的原因&#xff0c;在5.3教链内参《美就业数据爆冷门&#xff0c;BTC急…

Claude聊天机器人推出全新iOS客户端及团队专属计划

Anthropic 正在使其 Claude AI 更易于在移动设备上访问。该公司发布了适用于 iOS 的 Claude 移动应用程序,任何用户都可以免费下载。与聊天机器人的移动网络版本类似,该应用程序跨设备同步用户与 Claude 的对话,允许他们从计算机跳转到应用程序(反之亦然),而不会丢失聊天…

【信息收集-基于字典爆破敏感目录--御剑/dirsearch

两个工具都是内置字典来对于目录进行爆破的&#xff0c;这是信息收集的一部分&#xff0c;若能在列举出的目录中找到有价值的信息能为后续渗透做准备。 御剑比较简便 dirsearch需要集成python3.x环境&#xff0c;但是可选的命令更多。两者爆破的结果不一定相同&#xff0c;可以…

Linux课程机房虚拟机

Linux课程机房虚拟机 机房虚拟机&#xff08;默认不能联网的&#xff09;&#xff1a; 百度网盘&#xff1a;https://pan.baidu.com/s/1WqSvqB3Y7b_D4690CDBlJA?pwdaugc 123网盘&#xff1a;https://www.123pan.com/s/tQ0UVv-LiolA.html提取码:F4xm ‍ 联网使用说明&…

CC工具箱1.2.8更新_免费_90+工具

​CC工具箱1.2.8更新【2024.5.5】 使用环境要求&#xff1a;ArcGIS Pro 3.0 一、下载链接 工具安装文件及使用文档&#xff1a; https://pan.baidu.com/s/1OJmO6IPtMfX_vob3bMtvEg?pwduh5r 二、使用方法 1、在下载链接中下载安装文件【CC工具箱1.2.8.esriAddinX】&#xf…