[嵌入式AI从0开始到入土]5_炼丹炉的搭建(基于wsl2_Ubuntu22.04)

[嵌入式AI从0开始到入土]嵌入式AI系列教程

注:等我摸完鱼再把链接补上
可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。

第一章 昇腾Altas 200 DK上手
第二章 下载昇腾案例并运行
第三章 官方模型适配工具使用
第四章 炼丹炉的搭建(基于Ubuntu23.04 Desktop)
第五章 炼丹炉的搭建(基于wsl2_Ubuntu22.04)
第六章 Ubuntu远程桌面配置
第七章 下载yolo源码及样例运行验证
第八章 在线Gpu环境训练(基于启智ai协作平台)
第九章 转化为昇腾支持的om离线模型
第十章 jupyter lab的使用
第十一章 yolov5在昇腾上推理
第十二章 yolov5在昇腾上应用
未完待续…


文章目录

  • [嵌入式AI从0开始到入土]嵌入式AI系列教程
  • 前言
  • 一、启用wsl
  • 二、安装系统
    • 1、使用微软商店
    • 2、使用命令行下载
  • 三、更改wsl版本
  • 四、安装pip(可选)
  • 问题
    • 1、修改安装位置(适用于安装后未启动过wsl的情况)
      • 1、修改权限
      • 2、移动wsl文件
    • 2、wsl文件迁移
    • 3、wsl虚拟磁盘大
    • 4、System has not been booted with systemd as init system (PID 1). Can't operate.
    • 5、wsl与win互连
      • 1、文件
      • 2、ssh
      • 3、软件
  • 总结


前言

注:本人环境win11 22H2家庭中文版,win10默认wsl,需要手动升级到wsl2
没有物理机的情况下,为避免虚拟机额外的性能开销,我们可以使用wsl2直接调用Gpu(Vmware好像也可以做显卡直通)。
微软官方文档点击这里跳转,本文仅挑选必要内容做分析。
关于conda和cuda环境的搭建,直接按照上一期的内容就可以了。

一、启用wsl

搜索Windows功能,勾选适用于Linux的Windows子系统,重启电脑等待更新完成。
在这里插入图片描述

二、安装系统

以下方法二选一即可,推荐使用Microsoft Store。
注:默认安装位置在C盘,如需更改请在安装完成后不要启动,按照问题区方法操作

1、使用微软商店

在Microsoft Store中搜索ubuntu,这里以ubuntu22.04为例。
注:按理说应该先安装下图第一个搜索结果,但实测会自动安装
在这里插入图片描述
点击上图所示的结果,点击获取,然后等待安装即可,大约不到500Mb。

2、使用命令行下载

搜索powershell,使用管理员权限打开。
在这里插入图片描述
输入以下指令安装,懒人直接第一条就行。

wsl --install #默认安装 WSL 和 Linux 的默认 Ubuntu 发行版
wsl --list --online #获取发行版名称的有效列表
wsl --install <Distribution Name> #安装指定Linux发行版

选项包括:

  • --distribution:指定要安装的Linux发行版。可以通过运行wsl --list --online来查找可用的发行版。
  • --no-launch:安装Linux发行版,但不自动启动它。
  • --web-download:通过联机渠道安装,而不是使用Microsoft Store安装。

未安装 WSL 时,选项包括:

  • --inbox:使用Windows组件(而不是Microsoft Store)安装WSL。(WSL 更新将通过Windows更新接收,而不是通过Microsoft Store中推送的可用更新来接收)。
  • --enable-wsl1:在安装Microsoft Store版本的 WSL 的过程中也启用“适用于 Linux 的 Windows 子系统”可选组件,从而启用 WSL 1。
  • --no-distribution:安装WSL时不安装发行版。

注意:如果在 Windows 10 或更低版本上运行 WSL,可能需要在 --install 命令中包含 -d 标志以指定发行版:wsl --install -d <distribution name>

三、更改wsl版本

注:WSL2仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。
我们因为需要调用显卡,所以需要切换到wsl2,win11一般默认就是wsl2。关于wsl和wsl的区别,请点击这里。
打开终端,执行以下命令

wsl -l -v #查看wsl当前发行版本名称和运行状态
wsl --set-version <distribution name> <versionNumber> 
  • distribution name:上一步查询到的Name
  • versionNumber:需要修改为的版本,1或者2

四、安装pip(可选)

本人从微软商店下载的ubuntu22.04缺少pip,通过正常方式均无法安装。
以下为解决方案

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py #比较慢,下不动用迅雷
python get-pip.py	#此处慢慢等,报错就重试
pip --version #验证安装

问题

1、修改安装位置(适用于安装后未启动过wsl的情况)

1、修改权限

进入C:\Program Files目录,修改windowsapp文件夹权限
在这里插入图片描述
更改所有者
在这里插入图片描述
输入everyone,点击检查名称,确认即可。
在这里插入图片描述

2、移动wsl文件

在Windowsapp文件夹内找到CanonicalGroupLimited.Ubuntu22.04LTS开头的一个文件夹,可能会有三个,我这里因为已经移动了,所以就找不到了,没法截图。
我们进去复制这两个文件,ubuntu2204.exe以及同文件夹下一个0.5G左右的文件(就是最大的那个)。把这俩个文件放到你想要的文件夹,然后双击ubuntu2204.exe,等待启动即可。
注:wsl启动过后移动ext4.vhdx文件会导致报错

2、wsl文件迁移

在wsl正常使用过程中,需要迁移的话,请按照如下方法操作
在终端中执行

wsl --shutdown #关机
wsl -l -v #记下name,并且确认状态是stopped
wsl --export name D:\Ubuntu.tar	#name替换为上一步查询的name
wsl --unregister name	#name同上
wsl --import name D:\wsl D:\Ubuntu.tar --version 2	#name同上
ubuntu.exe config --default-user user_name #user_name替换为你的wsl内的用户名

3、wsl虚拟磁盘大

这是因为ext4.vhdx磁盘空间会根据加载的数据自动增长,但是无法自动回收。下面是手动回收的步骤。
在终端依次执行以下命令

wsl --shutdown #关闭正在运行的wsl系统
diskpart #跳出授权,选择是
select vdisk file="D:\wsl\ext4.vhdx" #将路径改为你的实际路径
attach vdisk readonly
compact vdisk
detach vdisk
exit

4、System has not been booted with systemd as init system (PID 1). Can’t operate.

这个报错是因为wsl没有启动system导致的。
使用ps -p 1命令,如果cmd列为init请按照以下步骤操作启用systemd:

  1. 确保 WSL 版本为 0.67.6 或更高版本。(若要检查,请运行wsl --version。若要更新,请运行wsl --update或从 Microsoft Store 下载最新版本。)
  2. 进入wsl,nano /etc/wsl.conf
  3. 在 wsl.conf 文件中添加以下行
[boot]
systemd=true
  1. 退出 Nano 文本编辑器(Ctrl + X,选择 Y 来保存更改)。然后,需要关闭 Linux 发行版。可以使用 PowerShell 中的wsl.exe --shutdown命令关闭所有 WSL 实例。
  2. Linux 发行版重启后,systemd 将会运行。 可使用systemctl list-unit-files --type=service或者ps -p 1命令进行确认,这将显示与 Linux 发行版关联的任何服务的状态。
    在这里插入图片描述

5、wsl与win互连

1、文件

win的目录在/mnt文件夹下,直接cd过去就行。
在这里插入图片描述
win访问wsl文件直接在资源管理器就可以。

2、ssh

mobaxterm和vscode不需要,可以直接连接wsl。

  • mobaxterm
    在这里插入图片描述
  • vscode
    在这里插入图片描述
    如果有其他需求,还是和物理机一样的操作,只是静态ip比较麻烦
sudo apt install openssh-server		#安装ssh服务端
sudo service sshd start				#开启ssh服务
ifconfig 							#查看ip

wsl ip是eth0:下第二行inet后的地址。按理说应该是动态ip,不少教程内也都是每次启动就会变ip,但是我这里一个月都没变。于是,摆烂。

3、软件

wsl内安装的有图形界面的软件可以直接在开始菜单找到,直接打开使用即可。

总结

WSL 所需的资源少于完整虚拟机所需的资源(微软说的),但是依赖缺的真的很严重,gcc正在折磨我[大哭]。

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

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

相关文章

【5G SA流程】5G SA下终端完整注册流程介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客内容主要围绕: 5G/6G协议讲解 …

JVM工作原理与实战(三十五):性能调优

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、性能调优 1.性能调优方法 二、性能调优案例 案例1&#xff1a;解决CPU占用率高问题的方案 案例2&#xff1a;接口响应时间长问题 案例3&#xff1a;定位底层性能问题 案例4&a…

echarts使用之地图(五)

1 基本使用 百度地图 API : 使用百度地图的 api , 它能够在线联网展示地图 , 百度地图需要申请 ak 矢量地图 : 可以离线展示地图 , 需要开发者准备矢量地图数据。本文使用该方式。 json格式的数据如下&#xff1a; 格式参照&#xff1a;GeoJSON <!DOCTYPE html&…

车载充电器(OBC)氮化镓(GaN)驱动(高压高功率)设计(第四篇)

上图来自于网络 1、GaN FET概念 GaN FET&#xff0c;全称为Gallium Nitride Field-Effect Transistor&#xff08;氮化镓场效应晶体管&#xff09;&#xff0c;是一种采用氮化镓&#xff08;Gallium Nitride, GaN&#xff09;材料制作的新型功率半导体器件。相较于传统的硅基…

枚举(Java)

一、概念 枚举是一种特殊的类。 格式&#xff1a; 修饰符 enum 枚举类名{ 对象名称1&#xff0c;对象名称2&#xff0c;....; 其他成员... } 二、枚举类的特点 1.枚举类的第一行只能罗列一些名称&#xff0c;并且这些名称都是常量&#xff0c;每个常量记住一个枚举类对象…

【Java程序设计】【C00247】基于Springboot的农机电招平台(有论文)

基于Springboot的农机电招平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的农机电招平台 本系统分为系统功能模块、管理员功能模块、农机机主功能模块以及使用者功能模块。 系统功能模块&#xff1a;农机电招…

ubuntu离线安装k8s

目录 一、前期准备 二、安装前配置 三、安装docker 四、安装cri-dockerd 五、部署k8s master节点 六、整合kubectl与cri-dockerd 七、网络等插件安装 八、常见问题及解决方法 一、前期准备 ①ubuntu系统 本地已安装ubuntu系统&#xff0c;lsb_release -a命令查看版本信…

【数据结构】排序---C语言版

七大排序算法 一、对于排序的分类&#xff1a;二、插入排序1、直接插入排序&#xff08;1&#xff09;基本思想&#xff1a;&#xff08;2&#xff09;直接插入排序&#xff1a;&#xff08;3&#xff09;代码实现&#xff1a;&#xff08;4&#xff09;总结&#xff1a; 2、希…

2024机械工程师面试题

1.常用的机械画图软件有哪些 SolidWorks、Pro/e、CATIA、UG、Creo、CAD、inventor。CAXA电子图板. 2.第一视角是___&#xff0c;第三视角是___&#xff1b; 只要区别是&#xff1a;物体所处的位置不同。一般中国都使用第一视角的。 3.气缸属于_____执行元件&#xff0c;电磁…

AIGC技术讲解以及应用的落地

简介 近期&#xff0c;火爆的“AI绘画”、图片转AI图&#xff0c;智能聊天软件ChatGPT&#xff0c;引起了人们广泛关注。人工智能潜力再次被证明&#xff0c;而这三个概念均来自同一个领域&#xff1a;AIGC。AIGC到底是什么&#xff1f;为什么如此引人关注&#xff1f;AIGC能产…

关系型数据库的介绍与历史(History of DataBase)

昨晚和大家聊到 数据库&#xff08;DataBase 简称DB&#xff09;简单概述 &#xff0c;今天简单和大家聊聊 关系型数据库&#xff08;关系数据库&#xff09; 的历史&#xff0c;它是以关系模型&#xff08;Relational Model&#xff09;来构建的数据存储系统。 关系数据库有个…

C/C++内存管理的底层调用逻辑

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

10_机械臂运动学_机械臂C++逆解——2023

就是算&#xff01; 遨博机械臂改进DH参数表&#xff1a; 机械臂正运动学连杆变换通式&#xff1a; 其中si代表sin(θi),ci代表cos(θi) sij代表sin(θi-θj),cij代表cos(θi-θj) sijk代表sin(θi-θjθk),cijk代表cos(θi-θj-θk)&#xff0c;用两角和差公式直接展开即可. 每…

如何获取气象数据

问题 如何获取气象数据 详细问题 笔者使用NOAA获取部分气象数据&#xff0c;但是涉及字段有限&#xff0c;如何获取更丰富的气象数据&#xff0c;譬如包括太阳辐射、温度、湿度、云覆盖等信息呢&#xff1f; 解决方案 步骤1、访问https://power.larc.nasa.gov/data-access…

财务数据处理问题及解决方案分享

一、平台介绍 财务自营计费主要承接京东自营数据在整个供应链中由C端转B端的功能实现&#xff0c;在整个供应链中属于靠后的阶段了&#xff0c;系统主要功能是计费和向B端的汇总。 二、问题描述 近年来自营计费数据量大增&#xff0c;有百亿的数据量&#xff0c;一天中汇总占…

【Linux】信号-下

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb;信号递达&#xff0c;信号未决&#x…

软考20-上午题-串及其模式匹配

串&#xff08;字符串&#xff09;是一种特殊的线性表&#xff0c;其数据元素为字符。如&#xff1a;"abc"。 一、串的定义 由字符构成的有限序列&#xff0c;是一种线性表。 串的比较&#xff1a;以字符的ASCII值作为依据。比较操作从两个字符串的第一个字符开始&a…

Openresty+Lua+Redis实现高性能缓存

一、背景 当我们的程序需要提供较高的并发访问时&#xff0c;往往需要在程序中引入缓存技术&#xff0c;通常都是使用Redis作为缓存&#xff0c;但是要再更进一步提升性能的话&#xff0c;就需要尽可能的减少请求的链路长度&#xff0c;比如可以将访问Redis缓存从Tomcat服务器…

4. 树(二叉树、二叉查找树/二叉排序树/二叉搜索树、平衡二叉树、平衡二叉B树/红黑树)

树 1. 二叉树1.1 概述1.2 特点1.3 二叉树遍历方式1.3.1 前序遍历(先序遍历)1.3.2 中序遍历1.3.3 后序遍历1.3.4 层序遍历 2. 二叉查找树&#xff08;二叉排序树、二叉搜索树&#xff09;2.1 概述2.2 特点 3. 平衡二叉树3.1 概述3.2 特点3.3 旋转3.3.1 左旋3.3.2 右旋 3.4 平衡二…

Quartus IP 之mif与hex文件创建与使用

一、mif与hex概述 ROM IP的数据需要满足断电不丢失的要求&#xff0c;ROM IP数据的文件格式一般有三种文件格式&#xff1a;.mif、.hex、.coe&#xff0c;Xilinx与Intel Altera支持的ROM IP数据文件格式如下&#xff1a; Xilinx与Altera支持的ROM文件格式 Alterahex、mifAM&am…