本地及云服务器上部署yoloworld的过程中遇到一些问题整理记录

在yoloworld官网下载官方源码:https://github.com/AILab-CVC/YOLO-World
yoloworld下载位置
解压后会有这些文件:解压后的文件内容
确保yoloworld项目可以运行只需要保证demo/simple_demo.py文件可以运行即可,这里打开py文件在vscode上直接Ctrl+F5运行会开始报错:
(1)问题:
FileNotFoundError: [Errno 2] No such file or directory: ‘d:\software\code\yolo\YOLO-World-master\configs\pretrain\…/…/third_party/mmyolo/configs/yolov8/yolov8_x_syncbn_fast_8xb16-500e_coco.py’某个文件找不到
解决方案:
回到yoloworld源码位置,打开third_party文件夹(https://github.com/AILab-CVC/YOLO-World/tree/master/third_party),会有一个mmyolo的链接,同样点开这个链接会跳转到mmyolo下,只需下载这份源码到本地,解压后放在/third_party/mmyolo文件夹下即可。
(2)问题:
继续运行仍会报错:OSError: Incorrect path_or_model_id: ‘…/pretrained_models/clip-vit-base-patch32-projection’. Please provide either the path to a local folder or the repo_id of a model on the Hub.
第二个报错
解决方案:
观察simple_demo.py代码不难发现,这里需要两个文件,一个是configs文件夹下的.py配置文件,一个是weights文件夹(自己建一个)下的.pth权重文件。注意:这里配置文件和权重文件要是对应的,比如yolo_world_v2_s.py的配置文件,那么也要下载对应的yolo_world_v2_s.pth权重文件。权重文件之前是可以在github上直接下载的,不知道为什么现在点进去直接到配置文件的位置了,所以我们可以选择在huggingface上下载权重文件:权重文件下载地址
权重文件下载位置
下载对应的权重文件后就可以放在weights文件夹下,并在simple_demo.py的对应位置修改权重文件的路径即可。
(3)问题:
关于导包的问题:这里通过报错不难发现说是没有一个叫‘yolo_word’的自定义包
在这里插入图片描述
ImportError: Failed to import custom modules from {‘imports’: [‘yolo_world’], ‘allow_failed_imports’: False}, the current sys.path is:
You should set PYTHONPATH to make sys.path include the directory which contains your custom module
解决方案:
解决这个问题的关键就是找到这个自定义的yolo_world包在哪里,并且放在对应位置。
打开yolo_world_v2_s.py的配置文件不难发现,最上边有一个自定义的导包custom_imports = dict(imports=[‘yolo_world’],
allow_failed_imports=False),点击yolo_world便进入了最外层目录的yolo_world的init.py初始化文件,这个yolo_world就是我们要的自定义包在这里插入图片描述
下边将这个自定义包放在以下任意路径中即可,该报错解决。自定义包放在这里
(4)问题:
在这里插入图片描述
很显然还是关于huggingface的问题,网络连接失败,找不到tokenizer_config.json文件
requests.exceptions.ProxyError: (MaxRetryError(“HTTPSConnectionPool(host=‘huggingface.co’, port=443): Max retries exceeded with url: /openai/clip-vit-base-patch32/resolve/main/tokenizer_config.json (Caused by ProxyError(‘Unable to connect to proxy’, SSLError(SSLZeroReturnError(6, ‘TLS/SSL connection has been closed (EOF) (_ssl.c:1131)’))))”), ‘(Request ID: 44b5ba30-3a08-4766-ad39-abef551cae9b)’)
解决方案:
按照给出的提示,采取直接手动下载的方式:文件下载地址
在这里插入图片描述
下载之后在本地建立对应的文件夹,将文件全部放进去:如图所示
在这里插入图片描述
(5)问题:
继续运行发现还是缺少json文件:
FileNotFoundError: [Errno 2] No such file or directory: ‘data/coco/lvis/lvis_v1_minival_inserted_image_name.json’
在这里插入图片描述
解决方案:
这份文件lvis_v1_minival_inserted_image_name.json在哪里找呢,可以在docs/data.md文件里找到
在这里插入图片描述
如果直接点击链接还是下载不了,那么请点击这个链接,进行下载。
下载链接
在这里插入图片描述
下载之后自己建立几个文件夹,将文件放进去即可。
在这里插入图片描述
(6)问题
运行video_demo.py的时候报错显示:
TypeError: “tasks” must be a tuple object or a sequence object, but got <class ‘mmcv.video.io.VideoReader’>
解决方案:
将video_demo.py中的

for frame in track_iter_progress(video_reader):

修改为:

frames = [frame for frame in video_reader]  
for frame in track_iter_progress(frames, file=sys.stdout):  

在终端的命令如下:

python demo/video_demo.py configs/pretrain/yolo_world_v2_s_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py  weights/yolo_world_v2_s_obj365v1_goldg_pretrain-55b943ea.pth demo/sample_images/traffic.mp4  'person' --device cuda:0  --score-thr 0.1  --out demo_outputs/output_video.mp4

到这里基本所有的坑就都踏平了,项目可以正常部署运行了,over!
在这里插入图片描述

对了,如果是在云服务器上部署该项目记得在选择配置时参考yoloworld官网给出的提示:注意torch,以及cuda版本的对应,还有mmcv的安装,官网都有教程,跟着装就可以。
在这里插入图片描述

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值