DAMO-YOLO保姆级教程:PyTorch 2.9.1 + ModelScope 1.34.0环境搭建

发布时间:2026/5/22 7:51:35

DAMO-YOLO保姆级教程:PyTorch 2.9.1 + ModelScope 1.34.0环境搭建 DAMO-YOLO保姆级教程PyTorch 2.9.1 ModelScope 1.34.0环境搭建想快速搭建一个能精准识别手机的高性能AI检测服务吗今天我就带你从零开始手把手部署阿里巴巴开源的DAMO-YOLO手机检测模型。这个模型有多厉害它在检测准确率AP0.5上能达到88.8%推理速度更是快到只需3.83毫秒完全能满足实时检测的需求。无论你是想为手机生产线开发质检工具还是想做一个智能会议室里自动检测手机使用的应用这个教程都能帮你快速搞定。我们用的环境是PyTorch 2.9.1和ModelScope 1.34.0跟着步骤走半小时内就能让服务跑起来。1. 学习目标与环境准备1.1 学完这篇教程你能掌握什么通过这篇教程你将学会如何在自己的服务器或电脑上搭建PyTorch和ModelScope的指定版本环境。如何下载并启动阿里巴巴的DAMO-YOLO手机检测模型服务。如何通过网页界面和Python代码两种方式调用模型进行图片检测。如何管理这个AI服务比如查看状态、重启或停止。1.2 你需要提前准备什么门槛很低你只需要一台安装了Linux系统的服务器或电脑教程基于CentOS 7其他发行版也类似。拥有这台机器的管理员权限能执行sudo命令。一个可以上网的环境用于下载模型和依赖包。对命令行操作有最基本的了解比如知道cd、ls这些命令。如果你的机器上已经有Python环境建议3.8以上版本那就更好了。没有也没关系我们会从头安装。2. 分步搭建从零到一的部署指南现在我们正式开始。整个过程就像搭积木一步接一步非常简单。2.1 第一步检查并安装Python环境首先我们打开终端命令行检查系统里有没有Python。# 查看当前Python版本 python3 --version如果显示类似Python 3.8.10的信息说明已经安装。如果提示“命令未找到”我们就需要安装它。在CentOS 7上可以这样安装# 安装Python3和必要的开发工具 sudo yum install -y python3 python3-devel安装完成后再次运行python3 --version确认安装成功。接下来我们安装Python的包管理工具pip。# 安装pip sudo yum install -y python3-pip # 升级pip到最新版 pip3 install --upgrade pip2.2 第二步安装PyTorch和ModelScope核心依赖这是最关键的一步。我们需要安装教程指定的PyTorch 2.9.1和ModelScope 1.34.0。为了安装过程更顺畅我们先设置一下pip的镜像源这样下载速度会快很多。# 创建pip配置文件目录如果不存在 mkdir -p ~/.pip # 编辑pip配置文件设置国内镜像源 cat ~/.pip/pip.conf EOF [global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn EOF现在开始安装PyTorch。根据你的机器是否有NVIDIA显卡安装命令略有不同。如果你的机器有NVIDIA显卡并且已经安装了CUDA可以安装支持GPU的版本以获得更快的推理速度pip3 install torch2.9.1 torchvision0.14.1 torchaudio0.9.1 --index-url https://download.pytorch.org/whl/cu118如果你的机器没有显卡或者只想用CPU运行安装CPU版本即可pip3 install torch2.9.1 torchvision0.14.1 torchaudio0.9.1 --index-url https://download.pytorch.org/whl/cpu安装完PyTorch后我们来安装ModelScope库。这是阿里巴巴开源的模型即服务框架能让我们非常方便地使用各种预训练模型。# 安装ModelScope指定版本 pip3 install modelscope1.34.02.3 第三步获取DAMO-YOLO手机检测项目模型和相关的服务代码已经打包好了我们直接下载并解压到指定目录。# 进入用户根目录通常操作都在这里进行 cd ~ # 下载项目压缩包这里假设你有下载链接实际请替换为正确的地址 # 示例wget https://example.com/cv_tinynas_object-detection_damoyolo_phone.tar.gz # 由于实际链接未知我们模拟解压操作 # tar -xzf cv_tinynas_object-detection_damoyolo_phone.tar.gz # 假设项目目录已经存在我们直接进入 cd /root/cv_tinynas_object-detection_damoyolo_phone进入项目目录后你会看到一些文件其中requirements.txt列出了这个项目需要的所有其他Python包。2.4 第四步安装项目特定依赖现在安装项目运行所需的额外依赖包。# 安装requirements.txt中列出的所有包 pip3 install -r requirements.txt这个requirements.txt文件里主要包含gradio4.0.0: 用于构建Web界面的库让我们的模型有一个好看的网页操作界面。opencv-python4.8.0: 著名的计算机视觉库用于处理图片。easydict1.10: 让处理配置文件变得更简单的工具。安装过程可能需要一两分钟。完成后所有环境就都准备好了。3. 启动与使用让模型服务跑起来环境搭好了接下来就是最激动人心的时刻启动服务并看看它怎么用。3.1 启动Web服务项目提供了一个非常方便的启动脚本start.sh。运行它服务就会在后台启动。# 确保你在项目目录下 cd /root/cv_tinynas_object-detection_damoyolo_phone # 给启动脚本添加执行权限如果还没有的话 chmod x start.sh # 启动服务 ./start.sh运行这个命令后脚本会做几件事检查端口、启动Python应用并把日志输出到service.log文件。如果你想直接在前台运行看得更清楚也可以用这个命令python3 app.py服务启动后你会看到类似下面的输出说明服务已经运行在7860端口了Running on local URL: http://0.0.0.0:78603.2 通过Web界面使用模型现在打开你的浏览器在地址栏输入http://你的服务器IP地址:7860比如你的服务器IP是192.168.1.100那就访问http://192.168.1.100:7860。你会看到一个简洁的网页界面通常包含一个图片上传区域你可以点击这里上传一张包含手机的图片。一个“开始检测”或“Submit”按钮上传图片后点击它。一个结果展示区域检测完成后会显示画了红色框的图片框里就是检测到的手机旁边还会有一个置信度分数比如0.95表示模型有95%的把握认为那是手机。你可以多试几张不同的图片看看效果。比如找一张桌面上放着手机的图片或者一个人手里拿着手机的照片。3.3 通过Python代码调用模型进阶除了网页你还可以在自己的Python程序里直接调用这个模型这样就能集成到你的其他应用里了。方法非常简单# 导入必要的模块 from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks # 第一步加载模型 # 这行代码会创建一个检测器对象。第一次运行时会自动从网上下载模型文件并缓存到指定目录。 detector pipeline( taskTasks.domain_specific_object_detection, # 指定任务是“特定领域目标检测” modeldamo/cv_tinynas_object-detection_damoyolo_phone, # 模型ID cache_dir/root/ai-models, # 模型缓存目录可以按需修改 trust_remote_codeTrue # 信任并运行模型自带的代码 ) # 第二步进行推理检测 # 传入一张图片的路径 image_path your_image.jpg # 替换成你的图片路径 result detector(image_path) # 第三步查看结果 print(result)运行这段代码result里就会包含检测结果。结果通常是一个字典里面可能有boxes检测框的位置、scores置信度分数、labels标签这里就是‘phone’等信息。4. 实用技巧与常见问题4.1 服务管理命令服务启动后你可能会需要管理它。这里有几个常用命令# 查看服务是否在运行 ps aux | grep python3 app.py # 查看服务输出的日志实时跟踪 tail -f /root/cv_tinynas_object-detection_damoyolo_phone/service.log # 停止服务如果使用了start.sh脚本它会生成一个pid文件 cd /root/cv_tinynas_object-detection_damoyolo_phone kill $(cat service.pid) # 重启服务 ./start.sh4.2 可能遇到的问题与解决端口7860被占用如果启动时提示端口已在使用可以修改app.py文件里demo.launch()函数的server_port参数换一个别的端口比如7861。首次加载模型很慢这是正常的因为需要从网络下载125MB的模型文件。下载完成后模型会缓存在/root/ai-models目录下下次启动就快了。内存或显存不足如果图片很大或者同时处理很多图片可能会遇到内存不足的问题。可以尝试在调用检测器时限制输入图片的尺寸如果模型支持相关参数或者升级你的硬件。Web界面无法访问请检查服务器防火墙是否开放了7860端口。在云服务器上通常还需要在安全组规则里添加这个端口的入站允许。4.3 模型性能小贴士这个DAMO-YOLO手机检测模型在提供高精度88.8% AP的同时保持了极快的速度。3.83毫秒的推理速度意味着什么理论上一秒钟可以处理超过260张图片这对于需要实时反馈的场景比如视频流分析是非常有利的。如果你想在性能上更进一步可以考虑使用支持TensorRT的版本进行推理加速如果模型提供了相关转换工具。使用批处理batch processing来一次性检测多张图片提升整体吞吐量。5. 总结回顾好了让我们回顾一下今天完成的事情。我们成功地在PyTorch 2.9.1和ModelScope 1.34.0的环境下部署了阿里巴巴的DAMO-YOLO手机检测模型。整个过程就像一条清晰的流水线准备环境→安装核心库→获取项目代码→启动Web服务。你现在既可以通过浏览器上传图片进行检测也可以在自己的Python脚本中调用这个强大的检测器。这个模型特别适合那些需要自动化手机识别的场景比如智能会议室管理检测会议室中手机的使用情况。生产线质检检查手机成品的外观或部件。内容安全审核识别图片或视频中是否包含手机。零售分析统计店铺中顾客使用手机的行为。它的单类别只检测手机设计使得它在专门的任务上非常专注和高效。希望这个教程能帮你打开AI目标检测应用的大门。动手试试吧上传几张图片看看这个模型能不能准确地找出每一部手机。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻