lcsing0LV 3
@lcsing0
大专在读,科研爱好者,目前正在自学AI机器视觉,已经复刻了B站上理工男孙老师的yolo小相机项目,目前准备往更深的技术探索
lcsing0 发布的最新帖子
-
[V851s] YOLOv5 v7.0 转 Acuity 6.6.1 深度解析:从 ONNX 崩溃到依赖地狱,以及三条出路的分析发布在 编译和烧写问题专区
【环境配置】
开发主机:HP OMEN 9 (暗影精灵9) 主机系统:Ubuntu 22.04 (物理机) 主机显卡: NVIDIA GeForce RTX 4060 Laptop GPU (Device 28e0) Intel Corporation Device a788 (Intel 核显) 目标板卡:V851s 工具链版本:Acuity-Toolkit-Binary-6.6.1 Python 环境:Conda yolo5_retro (Python 3.8)【项目背景】
正在部署开发板识别打火机的火的项目,基于 YOLOv5 v7.0 训练完成 best.pt,目标是在 V851s NPU 上部署。目前在将模型转换为 Acuity 可用的 .nb 格式时,遇到了新旧工具链不兼容的严重问题,陷入了“依赖地狱”。【核心冲突】
Acuity 6.6.1(2020年代工具)的底层库要求极其老旧,与现代 YOLOv5(2024年代码)及 PyTorch 生态的依赖完全互斥,导致无法构建一个同时满足“Acuity能运行”和“YOLOv5能导出”的 Python 环境。【详细排查过程与报错】
路线一:ONNX 导入(遇到死胡同)
模型导出操作: 使用 YOLOv5 v7.0 源码,执行: python export.py --weights best.pt --include onnx --opset 9 --imgsz 640 *结果*:成功生成 best.onnx,输入 [1, 3, 640, 640]。结构包含 onnx::Reshape_397, onnx::Sigmoid_440 等中间节点。 环境适配(痛苦过程): 为了兼容 Acuity 6.6.1,我进行了强制降级: 降级 numpy:pip install numpy==1.19.5 (Acuity 报错强制要求 < 1.20) 降级 onnx:pip install onnx==1.10.0 降级 protobuf:pip install protobuf==3.20.3 (解决 Descriptor 验证错误) 源码修补:由于 NumPy 1.19.5 在新 onnx 库下存在 API 废弃,手动修改了 .../site-packages/onnx/mapping.py,将 np.object 改为 object 才勉强让 import 不报错。 Acuity 导入操作: pegasus import onnx --model best.onnx --mean-values 0 0 0 0.00392156862745098 --scale 0.017 0.017 0.017 --quantized-input on 关键报错: Acuity 在解析图结构时内部崩溃: I Start importing onnx... ... File "acuitylib/app/importer/import_onnx.py", line 109, in run TypeError: object of type 'NoneType' has no len() *个人推测*:Acuity 6.6 的旧版解析器无法正确处理 YOLOv5 v7 的某些特定节点,或者因版本不匹配导致图属性读取为 None。路线二:TFLite 导入(遭遇依赖互斥)
环境冲突 A (NumPy vs Pandas): Acuity 要求 numpy < 1.20,但 YOLOv5 的 export.py 依赖 pandas,而新版本 pandas 拒绝在 numpy < 1.20.3 上运行。这导致导出脚本甚至启动不了。 环境冲突 B (TensorFlow 版本): 临时升级 numpy 并尝试 tensorflow 2.13.1,结果导出失败。 TensorFlow SavedModel: export failure ❌ 1.0s: 'anchors' TensorFlow Lite: export failure ❌ 0.0s: 'NoneType' object has no attribute 'call' AttributeError: 'NoneType' object has no attribute 'outputs' *推测*:YOLOv5 v7.0 脚本逻辑未适配 TF 2.13(正准备尝试降级 TF 2.10 验证)。【我的思考:三条可能的出路】
目前卡在 ONNX 解析崩溃上,我思考了三条路,不知哪条是正解:
方案一:寻找更新版本的 SDK / Acuity
思路:是否存在针对 V851s 的更新版 Tina SDK?其中是否内置了 Acuity 7.x 或更高版本? 顾虑:非常担心“生成端”和“运行端”不匹配。如果我用新版 Acuity 生成 .nb,放到现有的 V851S 系统(SDK 里的驱动)跑,会不会直接报错 Version mismatch?方案二:降级 YOLOv5 版本(以退为进)
思路:放弃 v7.0,改用 2020-2021 年的 YOLOv5 v6.0。那个时代的 ONNX 格式和依赖库应该完美契合 Acuity 6.6。 代价:需要重新训练模型。 问题:如果不换 SDK,这是否是唯一可行的工程方案?方案三:放弃 Acuity,换推理框架
思路:改用 NCNN 或 TFLite + CPU 运行。 顾虑:V851S 性能有限,如果失去 NPU 加速,CPU 跑 YOLO 可能帧率极低,无法满足实时检测需求。【求助】
以上是目前遇到的所有问题。恳请全志的大佬或有经验的朋友指点:我的 TypeError: object of type 'NoneType' has no len() 还有救吗? V851s 是否有更新版 SDK 支持?如果没有,推荐我走哪条路?卡在这一步很久了,万分感谢!!!!
-
物理系统ubuntu22.04拉取V851s的SDK,LV2 权限已升级,但无法访问 SDK 仓库发布在 灌水区
今年2026年一月,有没有大佬替我解答一下且帖子昨天发了三个帖子,一个也没有审核,不知道什么情况求求大佬指点
-
关于在物理系统Ubuntu22.04 LTS版本搭建yolo环境以及编译Tina5.0等问题请教大佬们指教下,非常感谢!!发布在 编译和烧写问题专区
先说句抱歉,由于非科班才接触这些,也还没学如何使用Markdown记录文档,写的并不专业,所以可能看的有点难受,我组织语言不是很好,求大家见谅,抱歉抱歉; 目前自学,已经复刻了B站上理工男孙老师的yolo小相机,能稍微识别一下视频上给的识别几个封装,但是有个关于屏幕显示的图像是反着的,将相机任何角度都是翻转180°的效果,然后问AI可能是原本代码可能是定好的,所以需要去修改代码,将屏幕反转过来,然后尝试了好多次没有成功; 现在在全志开发者论坛去拉取SDK等往后的操作,所以询问一下大佬如何在22版本搭建环境,听AI说需要修改一些依赖等待的操作,目前使用的是笔记本能够使用yolo8去跑,且在roboflow平台上制作了能够识别打火机的火焰的数据集,能够使用笔记本自带的摄像头识别火焰,使用的是框选火焰像素的标注,然后想在台式电脑上重新去再搭建一个yolo的环境去跑模型; 然后我试着用脚本去一键安装yolo的环境,每次到下载pytorch的6.3MB的那个文件就突然网速特别特别慢还有很大概率断网,我装了三次都是到这个点左右出现这个状况,有大佬解释一下什么原因吗,真的很感谢大佬们的回复! 还有一个很奇怪的现象,由于台式电脑没有WiFi模块,我使用的USB接口的WIFI6和手机USB共享网络,在我使用脚本安装环境,应该是装GPU驱动,然后重启之后电脑就无法连网了,不管是使用手机USB共享网罗还是无线网卡都没有反应,WiFi6也没有反应,后来问AI尝试了很多方法都没有成功,我没办法就想着重装系统看看是不是配置冲突的原因,之后重装解决了网的问题,在我又去装yolo环境的时候,正在下载pytorch的时候,我正在查资料,也没有输入命令行,当时是下载错了pytorch版本重新下载的,但是我没有对电脑进行任何操作(输入命令行等什么都没动就放着),然后电脑又和之前一样出现这个问题,就很奇怪,有大佬解释一下嘛,真的很感谢!!!谢谢谢谢!! 由于使用的是ubuntu22版本官方对于22版的教程不多,但是AI说有大佬实现了,真的很感谢大佬们的回答!!!! [微信图片_20260114173811_31_59.jpg](/assets/uploads/files/1768383653433-微信图片_20260114173811_31_59.jpg)

