WSL安装Ubuntu22.04,以及深度学习环境的搭建

安装WSL

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载 Linux 内核更新包:l链接:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成后更新。

将 WSL 2 设置为默认版本,命令:

wsl --set-default-version 2

打开 Microsoft Store,搜索WSL,选择你偏好的 Linux版本。
在这里插入图片描述
我选择的是Ubuntu22.04版本。点进去就可以看到下载链接z
下载即可。下载完成后,启动系统,配置用户名和密码。
在这里插入图片描述

输入nvidia-smi,检查是否能找到显卡,正常情况,如下图:
在这里插入图片描述

一些问题

WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem错误的解决方案

执行命令

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

回车,输入Y或者y,然后系统重启。

输入nvidia-smi,显示不正确

这个有可能是wsl的版本不对,出现这种情况是Window的版本太低了!升级到21H2或者Win11。

也可以通过观察Ubuntu的版本,如下图:
在这里插入图片描述
如果wsl的版本是1.0的,内核是4.XXX。

也可以使用命令,查看wsl版本,在PowerShell里输入:

wsl -l -v

在这里插入图片描述
红框里的是2,就正确了!如果是1,则要重新安装Ubuntu。
执行命令:

wsl --list

查找wsl的列表。

wsl --unregister Ubuntu-22.04

注销列表中显示的Ubuntu系统

然后,重新打开Ubuntu系统。

注:WSL系统使用的显卡驱动是Win系统的驱动,所以不用安装驱动!

安装CUDA

安装gcc,执行命令:

sudo apt update
sudo apt install build-essential

在这里插入图片描述
输入Y。

链接:https://developer.nvidia.com/cuda-toolkit-archive
我选用的是12.1版本,如下图:

在这里插入图片描述
执行命令:

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run

在这里插入图片描述
输入accept。

在这里插入图片描述
选择安装的组件,不用安装驱动!

选择Install。
在这里插入图片描述
安装完成

接下来,配置环境变量输入vim ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。

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

在这里插入图片描述
然后,点击保存后关闭文档,然后执行命令source ~/.bashrc。
至此cuda安装完成,输入nvcc -V命令查看cuda信息。
在这里插入图片描述

安装cuDNN

链接:https://developer.nvidia.com/rdp/cudnn-archive
打开连接,选择CUDA 12.x,这里要和安装的CUDA版本对上!
在这里插入图片描述
点击上图红框的位置,就可以看到下图的列表,选择对应的文件,单击后就可以下载,如下图:
在这里插入图片描述
在地址栏输入“\wsl$”,然后点击Enter键。打开Ubuntu22.04的目录!
在这里插入图片描述
在这里插入图片描述
然后,找到home路径,如下图:

在这里插入图片描述
将下载的cudnn复制到用户名的路径下,如下图:
在这里插入图片描述
然后,执行安装命令,命令如下:

 sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb

等待cuDNN安装包仓库安装完毕后,最后几行会输出一个添加密钥的命令,类似下面。我们执行输出的那个命令:
在这里插入图片描述
执行命令:

sudo cp /var/cudnn-local-repo-ubuntu2204-8.8.0.121/cudnn-local-B66125A0-keyring.gpg /usr/share/keyrings/

更新apt源,让apt包管理器能够找到刚刚安装的cuDNN安装包仓库:

sudo apt update

准备安装cuDNN,先查找一下cuDNN安装包仓库中包含的cuDNN深度学习库有哪些版本:

sudo apt list libcudnn*

在这里插入图片描述
安装cuDNN库,执行命令:

sudo apt install libcudnn8-dev libcudnn8-samples

检查一下cuDNN的动态库文件是否安装到位,执行命令:

readelf -d /usr/lib/x86_64-linux-gnu/libcudnn.so | grep SONAME

在这里插入图片描述

检查libcudnn8-dev是否安装成功,执行命令:

cat /usr/include/cudnn_version.h | grep CUDNN_

编译一下cuDNN的示例代码。如果能成功编译并运行,代表你的CUDA工具链和cuDNN库全部正常工作。

# 复制示例代码到$HOME目录下,然后进入该目录
cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/# 试着编译一份卷积运算的示例代码
cd conv_sample/
# 用apt安装的cuDNN头文件和库目录位置与Makefile中给定的默认位置不同,
# 因此我们先手动指定位置后再make
CUDNN_INCLUDE_PATH=/usr/include/ CUDNN_LIB_PATH=/usr/lib/x86_64-linux-gnu/ make# 编译完成后,执行编译出的二进制文件,进行卷积运算测试
./conv_sample# 运行更多的卷积运算测试案例
source run_conv_sample.sh

运行结果:
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识ONLYOFFICE 8.0:办公软件的革命性升级

引言 随着数字化时代的到来,办公软件已经成为我们日常生活和工作的重要组成部分。在这个充满竞争的市场中,ONLYOFFICE凭借其卓越的性能和功能,脱颖而出,成为许多企业和个人用户的优选。近期,ONLYOFFICE推出了全新的8.…

大数据技术之 Kafka

大数据技术之 Kafka 文章目录 大数据技术之 Kafka第 1 章 Kafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式 1.3 Kafka 基础架构 第 2 章 Kafka 快速入门2.1 安装部署2.1.1 集群规划2.1.2 集群部署2.1.3 集群启停脚本 2.2 Kafka 命令行操作…

http前生今世

HTTP/0.9,仅支持GET方法,并且响应中没有HTTP头信息,只有文档内容。 HTTP/1.0增加了对POST方法、状态码、HTTP头信息等的支持,这一版本也是广泛应用的历史性版本。 HTTP/1.1引入了持久连接(Persistent Connections&…

m_sAppWord.CreateDispatch((L“Kwps.Application“), NULL) 失败问题

不使用管理员身份运行软件,只有adminsitrator用户装了WPS,在adminsitrator用户下运行管理员身份运行的程序才能正确载入WPS,其他用户下装WPS,只能用普通用户身份运行程序才能正确载入WPS

schema: classpath:db/schema.sql 自动建表失败的另一个原因

一、问题产生 想在springboot启动时,自动创建数据库,并执行建表语句,和数据插入语句。于是按照帖子配置了 schema: classpath:db/schema.sql 然而启动时,确报如下错误: com.baomidou.dynamic.datasource.DynamicDataSo…

【洛谷题解】P1303 A*B Problem

题目链接&#xff1a;A*B Problem - 洛谷 题目难度&#xff1a;普及- 涉及知识点&#xff1a;高精度 题意&#xff1a; 分析&#xff1a;直接套用模版即可 AC代码&#xff1a; #include<bits/stdc.h> using namespace std; char n[1000000],m[1000000]; int a[1000…

MIT-BEVFusion系列九--CUDA-BEVFusion部署2 create_core之参数设置

目录 加载命令行参数main 函数中的 create_core图像归一化参数体素化参数稀疏卷积网络参数真实世界几何空间参数 (雷达坐标系下体素网格的参数)解码后边界框的参数构建 bevfusion::Core 存储推理时需要的参数 本章开始&#xff0c;我们将一起看CUDA-BEVFusion的代码流程&#x…

VirtualBox虚拟机磁盘VDI文件压缩瘦身

文章目录 问题现象虚拟机文件目录结构处理方法清除宿主机文件和虚拟机快照虚拟机磁盘瘦身 问题现象 2月7日下午四点多&#xff0c;我已经休假了&#xff0c;某县的客户运维方打来电话&#xff0c;说平台挂了&#xff0c;无法访问 客户是提供的一台Windows server2016机器部署平…

262.【华为OD机试真题】符号运算(中缀表达式转逆波兰表达式-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-符号运算二.解题思路三.题解代码Python题解代码…

AIOps探索 | 从单一告警管理到统一告警管理

原作者&#xff1a;擎创科技 资深产品专家 布博士 前言 最近发现我们的一些客户&#xff0c;仍在使用十多年前的流程和思想来思考业务和产品的未来。我们认为做产品必须明确该产品未来的业务发展方向&#xff0c;否则研发出的东西只是应对当前可见的需求&#xff08;即项目需求…

【教程】详解相机模型与坐标转换

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 由于复制过来&#xff0c;如果有格式问题&#xff0c;推荐大家直接去我原网站上查看&#xff1a; 相机模型与坐标转换 - 生活大爆炸 目录 经纬度坐标系 转 地球直角坐标系大地直角坐标系 转 经纬度坐标系地理坐标…

感觉我国的程序员前景一片灰暗,是这样吗?

程序员也分为好几等&#xff0c;在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了&#xff0c;很多人都在边缘挣扎&#xff1b;刚看到一位Android开发者&#xff0c;过完年回公司就通知被裁&#xff1b;可见每年都会有很多互联网公司倒闭&#xff0c;或者裁员…

手把手教你:gitee的注册以及代码的提交(上)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 gitee的介绍 首先&#xff0c;我们得了解什么是gitee&#xff1f; gitee是一个基于Git的代码托管和研发协作平台&#xff0c;上面可以托管个人或者公…

入驻视频号小店需要什么条件?一共需要多少费用?

我是电商珠珠 现在短视频电商很火&#xff0c;不少人看中了视频号的流量&#xff0c;借助流量将自己的店铺发展起来&#xff0c;将自己的利益最大化。 但是关于视频号了解的甚少&#xff0c;也不确定一共需要多少费用&#xff0c;今天我就来大家详细的了解一下。 1、营业执照…

高企奖补政策支持程序

1.区县&#xff08;功能区&#xff09;科技管理部门对辖区内符合条件的高新技术企业进行审核汇总&#xff0c;并就企业信用、申请奖补政策前两年内是否存在绿色门槛核查不予支持范围的情形&#xff0c;向有关部门征求核查意见。 2.核查无问题的企业&#xff0c;由区县&#xf…

【AI学习】LangChain学习

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

代码随想录 栈与队列

232.用栈实现队列 232. 用栈实现队列 简单 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; void push(int x) 将元素 x 推到队列的末尾int pop() 从队列…

js中对象的属性要注意的点以及在vue中watch对象的属性的方法

取对象值有两种方式&#xff0c; const obj{ a:1 } obj.a或者obj[a],中括号还可以写成 const name a obj[name]和obj[a]是一个意思。 然后在vue的watch要监听对象的属性&#xff0c;写法是 watch:{ obj.a(new,old){} } 这样的方式。 然后对象的深度拷贝可以通过自…

FIDO2入门以及相关概念 Client to Authenticator Protocol

​ 本文根据官方文档的定义以及我疑惑的问题做出的相关整理的问答&#xff0c;可能会有偏差&#xff0c;请以官网为准。 官网文档网址&#xff1a;Client to Authenticator Protocol (CTAP) ​ FIDO是什么 FIDO&#xff08;Fast Identity Online&#xff09;是一组开放标准和…

服务器遭受 DDoS 攻击的常见迹象有哪些?

服务器遭受 DDoS 攻击的现象很常见&#xff0c;并且有时不容易预防&#xff0c;有部分原因是它们的形式多种多样&#xff0c;而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击&#xff0c;可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象&#xff1a; 1.网络流量无…