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

2024-02-05 06:12

本文主要是介绍[嵌入式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正在折磨我[大哭]。

这篇关于[嵌入式AI从0开始到入土]5_炼丹炉的搭建(基于wsl2_Ubuntu22.04)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联