news 2026/4/18 10:03:38

DAMO-YOLO部署教程:Windows WSL2环境下Ubuntu 22.04完整配置流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAMO-YOLO部署教程:Windows WSL2环境下Ubuntu 22.04完整配置流程

DAMO-YOLO部署教程:Windows WSL2环境下Ubuntu 22.04完整配置流程

想体验阿里达摩院的高性能目标检测技术,又不想折腾复杂的Linux环境?今天,我就带你手把手在Windows电脑上,通过WSL2和Ubuntu 22.04,把DAMO-YOLO这个“赛博朋克”风格的智能视觉系统跑起来。

你可能听说过YOLO系列模型,但DAMO-YOLO有点不一样。它是阿里达摩院基于自家TinyNAS架构搞出来的,主打一个又快又准。最吸引人的是,它还配了一个特别酷的界面,半透明毛玻璃质感,霓虹绿的识别框,看着就像科幻电影里的操作面板。

我知道很多人看到“Linux环境”、“深度学习部署”就头疼。别担心,这篇教程就是写给Windows用户的。咱们不用装双系统,不用搞虚拟机,就用微软官方推荐的WSL2,在Windows里开个“Linux子系统”,像用普通软件一样把DAMO-YOLO装好。

1. 环境准备:安装WSL2和Ubuntu 22.04

第一步,咱们得在Windows里搭个Linux环境。WSL2(Windows Subsystem for Linux)就是干这个的,它比虚拟机轻量多了,性能也接近原生Linux。

1.1 检查Windows版本和开启功能

首先,确认你的Windows版本。WSL2需要Windows 10版本2004及更高(内部版本19041及更高)或者Windows 11。按Win + R,输入winver就能看到。

然后,以管理员身份打开PowerShell(右键开始菜单,选“Windows PowerShell(管理员)”),依次运行下面几个命令:

# 启用“适用于Linux的Windows子系统”可选功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用“虚拟机平台”可选功能 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

运行完,重启你的电脑。这一步很重要,不重启后面会出问题。

1.2 安装WSL2内核更新并设置默认版本

重启后,再次用管理员身份打开PowerShell。

先去微软官网下载并安装 WSL2 Linux内核更新包。下载完直接双击安装就行。

接着,回到PowerShell,把WSL的默认版本设置为2:

wsl --set-default-version 2

1.3 安装Ubuntu 22.04 LTS

现在,打开微软商店(Microsoft Store),搜索“Ubuntu 22.04 LTS”。你会看到好几个,认准“Ubuntu 22.04.4 LTS”这个,发布者是“Canonical Group Limited”。点击“获取”进行安装。

安装完成后,在开始菜单里找到“Ubuntu 22.04 LTS”并打开。第一次启动会等一会儿,然后让你设置一个新用户的用户名和密码。这个用户名和密码是Ubuntu系统里的,和Windows的登录密码没关系,自己记好就行。

到这里,你的Linux子系统就准备好了。以后想用,直接在开始菜单点开就行,像一个独立的终端窗口。

2. 配置Ubuntu开发环境

Ubuntu装好了,但还是个“毛坯房”。咱们得给它装上Python、Git这些必要的工具,才好跑我们的AI程序。

2.1 更新系统软件源

首先,在Ubuntu终端里,运行下面的命令更新软件包列表。这就像在手机应用商店刷新一下,确保能下载到最新的软件。

sudo apt update && sudo apt upgrade -y

输入命令后,它会让你输入密码。就是你刚才设置的那个Ubuntu用户密码。输入时光标不会动,这是正常的,输完按回车就行。

2.2 安装Python和基础工具

DAMO-YOLO是用Python写的,所以Python环境是必须的。Ubuntu 22.04默认可能带了Python 3.10,我们确认一下,并把pip(Python的包管理工具)和虚拟环境工具装好。

# 安装Python3、pip3和虚拟环境工具 sudo apt install python3 python3-pip python3-venv -y # 安装一些常用的编译工具和库(后续安装某些Python包时会用到) sudo apt install git wget build-essential libgl1-mesa-glx libglib2.0-0 -y

2.3 创建项目目录并设置Python虚拟环境

我建议为DAMO-YOLO单独创建一个项目目录,并用虚拟环境来管理Python包,这样不会把你系统的Python环境搞乱。

# 回到家目录,创建一个叫‘damoyolo_project’的文件夹 cd ~ mkdir damoyolo_project cd damoyolo_project # 创建一个Python虚拟环境,环境名字叫‘venv’ python3 -m venv venv # 激活这个虚拟环境 source venv/bin/activate

激活后,你会发现命令行前面多了个(venv)的标记,这说明你现在就在这个独立的“小房间”里操作了。以后每次打开新终端想运行DAMO-YOLO,都需要先cd到这个目录,然后执行source venv/bin/activate激活环境。

3. 获取并部署DAMO-YOLO系统

环境配好了,现在可以把主角请出来了。我们需要下载DAMO-YOLO的代码和它依赖的预训练模型。

3.1 克隆项目代码

通常这类项目代码会放在GitHub上。我们使用git clone命令来下载。这里我假设有一个示例仓库地址(请注意,实际部署时请替换为正确的项目地址)。

# 示例:克隆项目代码(请使用实际的项目Git地址) git clone https://github.com/example/damo-yolo-webui.git cd damo-yolo-webui

重要提示:上面https://github.com/example/damo-yolo-webui.git只是一个占位符。你需要找到DAMO-YOLO带Web UI界面的那个官方或开源仓库的真实地址替换掉它。你可以去阿里达摩院的ModelScope社区或者GitHub上搜索“DAMO-YOLO WebUI”来寻找。

3.2 安装Python依赖包

项目里通常会有一个requirements.txt文件,里面列出了所有需要的Python库。我们用pip一键安装。

# 安装项目依赖(确保你在虚拟环境‘venv’中) pip install -r requirements.txt

这个过程可能会花点时间,因为它要下载PyTorch、Flask、OpenCV这些比较大的库。如果遇到某个包安装特别慢或失败,可以尝试使用国内的镜像源,比如清华源:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3.3 下载预训练模型

DAMO-YOLO的强大检测能力来自于它训练好的模型。模型文件比较大,一般需要单独下载。根据你之前提供的系统描述,模型可能放在/root/ai-models/这样的路径。但在我们的WSL环境里,更常见的做法是下载到项目目录下。

你需要根据项目README的指引,找到模型下载链接。通常可以使用wget命令来下载。例如:

# 在项目目录下创建一个存放模型的文件夹 mkdir -p models # 示例:使用wget下载模型文件(链接需替换为真实地址) wget -P ./models https://modelscope.cn/api/v1/models/iic/cv_tinynas_object-detection_damoyolo/repo?Revision=master\&FilePath=damoyolo_tinynasL20_T.pth

同样,这里的下载链接是示例,请务必替换成正确的模型文件地址。

4. 配置与启动赛博朋克Web界面

代码和模型都齐了,现在是启动那个酷炫界面的时候了。

4.1 检查并修改配置文件

很多项目会有config.pyapp.py这样的文件来配置服务器端口、模型路径等。你需要用文本编辑器打开看看。

# 使用nano编辑器查看主应用文件(例如app.py) nano app.py

在nano编辑器里,你可以用方向键移动光标。主要看看:

  1. model_path或类似配置,确保它指向你刚才下载的模型正确路径(例如./models/damoyolo_tinynasL20_T.pth)。
  2. hostport设置。通常host='0.0.0.0'表示允许任何IP访问,port=5000是服务端口。
  3. 检查静态文件(CSS,JS)和模板文件(HTML)的路径是否正确。

看完后,按Ctrl + X,然后按Y,再按回车保存退出。

如果你看到的启动方式是运行一个start.sh脚本,那么你可能需要先看看这个脚本里做了什么。

# 查看启动脚本内容 cat start.sh

脚本里很可能也是执行python app.py之类的命令。如果脚本里的模型路径是绝对路径(如/root/ai-models/...),你可能需要根据你的实际存放位置修改它,或者干脆直接运行Python主程序。

4.2 启动Flask应用

假设我们直接运行app.py来启动。

# 在项目根目录下,运行主程序 python app.py

如果一切顺利,你会看到类似这样的输出:

* Serving Flask app 'app' * Debug mode: off * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5000 * Running on http://172.xx.xx.xx:5000

这表示服务已经启动,正在监听5000端口。

4.3 在Windows浏览器中访问

这是WSL最方便的地方!服务虽然在Ubuntu里运行,但我们可以直接在Windows的浏览器里访问。

打开你的Chrome、Edge等浏览器,在地址栏输入:

http://localhost:5000

如果端口号不是5000,就换成你实际配置的端口。回车后,那个充满赛博朋克风格的DAMO-YOLO操作界面就应该出现在你眼前了!

5. 使用指南与问题排查

看到界面就算成功了一大半。我们来试试怎么用,并看看可能遇到的问题。

5.1 基本使用操作

  1. 上传图片:点击界面中央的虚线框区域,或者直接把图片文件拖进去。支持常见的JPG、PNG格式。
  2. 调节灵敏度:找找界面上的滑块,通常标注着“Confidence”或“阈值”。往右拉(提高数值,比如0.7),系统会更“谨慎”,只识别把握大的目标,减少误报。往左拉(降低数值,比如0.3),系统会更“敏感”,能找出更多目标,但可能会把一些像目标的东西也框出来。
  3. 查看结果:上传图片后,系统会自动处理。识别到的目标会被亮绿色的框(就是那个霓虹绿)圈出来,旁边还会标上是什么东西(比如“person”,“car”)和置信度分数。左侧面板通常会统计一共发现了多少个目标。

5.2 常见问题与解决

  • 问题:访问localhost:5000打不开

    • 检查1:确保Ubuntu终端里的Flask服务正在运行,没有报错退出。
    • 检查2:在Ubuntu终端里,尝试用curl http://localhost:5000看看能否返回内容。如果Ubuntu自己都访问不了,那是服务没启动好。如果Ubuntu能访问但Windows不行,可能是WSL网络配置问题。可以试试在启动命令里明确指定host:python app.py --host=0.0.0.0
  • 问题:上传图片后没反应,或者报错

    • 检查1:打开浏览器的开发者工具(按F12),看“Console”(控制台)或“Network”(网络)标签里有没有红色错误信息。
    • 检查2:回到Ubuntu终端,看看运行app.py的那个窗口有没有打印出错误日志。常见的可能是模型文件路径不对,或者某个Python库缺失。根据错误信息重新检查模型路径或安装缺失的包(pip install 包名)。
  • 问题:识别速度很慢

    • 原因:WSL2虽然性能不错,但图形计算(尤其是AI推理)如果依赖CPU会非常慢。DAMO-YOLO的快速推理需要GPU加速。
    • 解决:你需要为WSL2配置GPU支持。这要求:
      1. Windows系统版本满足要求(Win10 21H2或更高,Win11)。
      2. 拥有NVIDIA显卡并安装较新的驱动。
      3. 在WSL2的Ubuntu内安装NVIDIA CUDA Toolkit。 这是一个稍进阶的操作,如果你有NVIDIA显卡且追求速度,可以搜索“WSL2 GPU Ubuntu”来查找微软官方教程进行配置。配置好后,PyTorch就能调用GPU,速度会有质的飞跃。
  • 问题:想关闭服务

    • 在运行app.py的Ubuntu终端里,按Ctrl + C就可以停止服务。

6. 总结

好了,整个流程走完了。我们来回顾一下你今天都做了什么:

  1. 搭建环境:你在Windows里启用了WSL2功能,并安装了一个Ubuntu 22.04的子系统。这相当于获得了一个轻量、好用且与Windows无缝协作的Linux终端。
  2. 配置基础:你在Ubuntu里安装了Python、pip和项目需要的各种系统库,并创建了一个独立的虚拟环境,为项目安好了“家”。
  3. 部署项目:你下载了DAMO-YOLO的代码和它强大的预训练模型,并安装了所有Python依赖包。
  4. 启动体验:你启动了基于Flask的Web服务,并在Windows浏览器里直接访问到了那个极具未来感的操作界面,成功用AI识别了图片中的物体。

整个过程,你不需要离开熟悉的Windows桌面,就体验到了最前沿的视觉AI技术。这种在WSL中部署AI应用的方式,非常适合学习、研究和快速原型开发。

如果后续你想深入了解,可以尝试:

  • 用自己收集的图片测试它的识别能力。
  • 研究一下app.py和前端代码,看看这个酷炫的界面是怎么做出来的。
  • 如果条件允许,尝试完成WSL2的GPU配置,体验一下“毫秒级”识别的快感。

希望这篇教程能帮你轻松打开AI视觉开发的大门。享受你的赛博朋克AI之旅吧!


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:46:12

Qwen3-ForcedAligner-0.6B批处理优化:提升大规模数据处理效率

Qwen3-ForcedAligner-0.6B批处理优化:提升大规模数据处理效率 1. 为什么批处理对强制对齐任务如此关键 你可能已经试过用Qwen3-ForcedAligner-0.6B处理单个音频文件,效果确实不错——准确率高、支持11种语言、时间戳预测稳定。但当面对几十小时的会议录…

作者头像 李华
网站建设 2026/4/18 3:47:35

Qwen3-VL-Reranker-8B实战教程:API响应时间监控与吞吐量压测方法

Qwen3-VL-Reranker-8B实战教程:API响应时间监控与吞吐量压测方法 1. 为什么需要关注重排序服务的性能? 你刚部署好Qwen3-VL-Reranker-8B,打开Web UI上传了一张宠物照片,输入“金毛犬在草地上奔跑”,几秒后就看到了排…

作者头像 李华
网站建设 2026/4/18 9:44:49

Nano-Banana提示词工程指南:写好Prompt生成精准Knolling平铺图

Nano-Banana提示词工程指南:写好Prompt生成精准Knolling平铺图 1. 为什么需要专为Knolling设计的提示词? 你有没有试过用通用文生图模型生成一张“iPhone 15 Pro所有零件平铺展示图”,结果画面里螺丝飞到了空中、主板歪斜、USB-C接口莫名其…

作者头像 李华
网站建设 2026/4/17 14:41:51

YOLOv8如何优化内存占用?进程资源监控实战技巧

YOLOv8如何优化内存占用?进程资源监控实战技巧 1. 为什么YOLOv8在CPU上跑着跑着就卡住了? 你是不是也遇到过这种情况:刚启动YOLOv8工业版检测服务,上传几张街景图效果飞快,但连续处理20张图后,WebUI响应变…

作者头像 李华