如果ARGB的4通道模型会有问题的话,是否意味着基于mlu的前处理以及use_scaler的前处理都无法使用?展开
如果ARGB的4通道模型会有问题的话,是否意味着基于mlu的前处理以及use_scaler的前处理都无法使用?展开
是和量化配置参数有关系,以yolov5举例,量化时如果配置firstconv ,生成的离线模型模型输入会从3通道变成4通道。量化如果配置firstconv 依旧是3通道。网络第一层是conv 可以配置firstconv 在网络内部进行归一化操作。
如果不配置firstconv 需要在前处理进行均值方差操作,当前的yolov5代码是在前处理做的mean_std操作。
yolov5 6.0之前的版本第一层是Focus,不符合firstconv 的使用规则。
关于firstconv 可以参看<<寒武纪 PyTorch 用户手册>>10.1.1 使用量化接口 章节
– firstconv:设置是否使用 firstconv。默认值为 False,即不使用。当开启 firstconv 时,需要同时设
置 mean 和 std 参数。关于 firstconv 的更多使用信息,参见高阶用法 。
请问:1、转换模型是不是必须有mlu270这个硬件?(转换模型包含yolov5_detection_output该算子)2、可否提供一个模型输入是ARGB的yolov5模型,感谢~展开
1.有使用实体卡调试起来会方便一些,如果不用卡需要 需要将device 配置成-1(ct.set_device(-1)),可以参看下 论坛里的其它帖子,如:转换fasestdet模型报错 - 寒武纪软件开发平台 - 开发者论坛 (cambricon.com)
2. 默认的yolov5的前处理是RGB24的,如果使用ARGB的4通道的模型运行会有问题是的,cncv版本太低了。详细的可以参看:https://gitee.com/cambricon/easydk/tree/v3.1.0/ 说明构建和运行EasyDK有如下依赖:CMake 2.8.7+GCC 4.8.5+GLog 0.3.4Cambricon Neuware Toolkit >= 1.7.0CNCV >= 0.4.0 (optional)libcurl-dev (optional)展开
cntoolkit=1.8.1,cncv=0.4.602,采用cncv前处理时候报这个错,不用cncv的话没有问题,请问这是什么原因?
另外,mlu220驱动版本是4.6,会不会跟驱动版本有关系?
在配置好CNCV后编译cnstream出现如下错误:[图片]请问这是什么错误?是CNCV的版本太低吗?cncv版本为0.2.0展开
是的,cncv版本太低了。详细的可以参看:
https://gitee.com/cambricon/easydk/tree/v3.1.0/ 说明
构建和运行EasyDK有如下依赖:
CMake 2.8.7+
GCC 4.8.5+
GLog 0.3.4
Cambricon Neuware Toolkit >= 1.7.0
CNCV >= 0.4.0 (optional)
libcurl-dev (optional)
预处理是影响CPU的一个点,其它的地方也会占用CPU,需要看下你的json参数配置,如果时发布的版本:yolov5:https://gitee.com/cambricon/CNStream/blob/master/samples/cns_launcher/configs/yolov5_object_detection_mlu220.jsonyolov3:https://gitee.com/cambricon/CNStream/blob/master/samples/cns_launcher/configs/yolov3_object_detection_mlu220.json这里面的一些属性是不一样的,比如: "class_name" : "cnstream::Inferencer", "parallelism" : 1,展开
我曾尝试过用Inferencer替换Inference2部署yolov5,以及修改parallelism,系统资源占用两者基本一样,还有其他的地方会影响吗?
另外,能否麻烦您给我发一个yolov5s_v6.0以上的版本,测测看?
预处理是影响CPU的一个点,其它的地方也会占用CPU,需要看下你的json参数配置,如果时发布的版本:
预处理是影响CPU的一个点,其它的地方也会占用CPU,需要看下你的json参数配置,如果时发布的版本:
yolov5:
https://gitee.com/cambricon/CNStream/blob/master/samples/cns_launcher/configs/yolov5_object_detection_mlu220.json
yolov3:
https://gitee.com/cambricon/CNStream/blob/master/samples/cns_launcher/configs/yolov3_object_detection_mlu220.json
这里面的一些属性是不一样的,比如:
"class_name" : "cnstream::Inferencer",
"parallelism" : 1,
# CPU 占用过高问题需要先确认下:a.为什么要启动2个cnstream进行检测?b.每个cnstream 一共跑了几路视频?1.当前Cnstream Yolov5 在220 默认的配置 模型是4batch以及前处理使用CPU,前处理使用CPU 会占用 CPU资源。可见配置文件:CNStream/yolov5_object_detection_mlu220.json at master · Cambricon/CNStream · GitHub。前处理是可以使用MLU进行cncv 进行处理的,环境安装cncv以及打开配置文件:[代码]2.另:后续也有一些其他的优化项,如:如果业务输入是1batch,后续可以生成1batch的模型。如果视频输入是一样的,可以在一个进程内处理多个场景的模型等(可以解决解码资源),如果只有一路 降低 engine_num和parallelism 也可以降低CPU利用率。展开
回复您需要确认的问题:
a、我表述有误,不是两个cnstream,是在一个cnstream同时起了两路视频;
b、同上
另外,想确认的问题是:
有没有对比过yolov5_v4.0和yolov5_v6.0转换好模型后,在cnstream运行占用资源的区别(即有无focus层的区别,目前mlu270暂时不在手边,无法自己转换模型)
请登录后评论