atlas_acl_e2e_demo's People
Forkers
307509256 tjulitianyi1997 yushanjin eric-xie-1211 tonight123 xiesibo psnow m-liu1987 pengyang1225 yangjian615 huimingyu jake-wei xinsuinizhuan andrawzyf awsxxf robocuper-hujinlei baifanysu m00nli ytikewk anhuipl2010 li-lai batablack michaeltolearn awesomecq barbecacov chordxy yeeaoo long-fu qzp-user everestrs summithwangcnatlas_acl_e2e_demo's Issues
关于yolov5的om模型转换问题
我看过华为官网的几个yolov5模型的例子,不论是不是会添加华为为yolov5设计的后处理算子,在export_onnx时,都会修改yolo.py中的detect类的forward方法中代码, 添加一个self.training=True,我想请教一下,当前仓库中的yolov5在export_onnx时,会添加这一行代码吗
AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'
按照 https://github.com/lenLRX/Atlas_ACL_E2E_Demo/blob/master/yolov5_model_cvt.md 这个教程转换,使用的是虚拟环境,结果报错:
(venv) ➜ yolov5 git:(v6.0) python export.py --include onnx --weights yolov5s.pt --img 640 --batch 1 --opset=11
/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension:
warn(f"Failed to load image Python extension: {e}")
export: data=data/coco128.yaml, weights=yolov5s.pt, imgsz=[640], batch_size=1, device=cpu, half=False, inplace=False, train=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=11, topk_per_class=100, topk_all=100, iou_thres=0.45, conf_thres=0.25, include=['onnx']
YOLOv5 🚀 v6.0-0-g956be8e torch 1.13.1 CPU
Downloading https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt to yolov5s.pt...
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 14.1M/14.1M [00:01<00:00, 7.85MB/s]
Fusing layers...
Model Summary: 213 layers, 7225885 parameters, 0 gradients
Traceback (most recent call last):
File "export.py", line 364, in <module>
main(opt)
File "export.py", line 359, in main
run(**vars(opt))
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "export.py", line 299, in run
y = model(im) # dry runs
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/models/yolo.py", line 126, in forward
return self._forward_once(x, profile, visualize) # single-scale inference, train
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/models/yolo.py", line 149, in _forward_once
x = m(x) # run
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torch/nn/modules/upsampling.py", line 157, in forward
recompute_scale_factor=self.recompute_scale_factor)
File "/home/HwHiAiUser/username/models/yolov5/yolov5_for_e2e_demo/yolov5/venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1270, in __getattr__
type(self).__name__, name))
AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor
大神,请问一下darknet自己训练的yolov3转caffe再转om这条路可行吗?转出来的om能直接替换这个项目里面的om模型吗
大神,请问一下darknet自己训练的yolov3转caffe再转om这条路可行吗?转出来的om能直接替换这个项目里面的om模型吗
yolov5s转换om出错
yolov3,yolov4,yolov3+deepsort已跑通流程,yolov5s转换om出错:
ATC start working now, please wait for a moment.
ATC run failed, Please check the detail log, Try 'atc --help' for more information
E89999: Inner Error!
op[Concat_243], the input shape dims should be equal except merge axis,shapes:[[1, 3, 80, 80, 2, ], [1, 3, 40, 40, 81, ], ]axis:-1[FUNC:ConcatInferShapeCommon][FILE:split_combination_ops.cc][LINE:789]
Call InferShapeAndType for node:Concat_243(ConcatD) failed[FUNC:Infer][FILE:infershape_pass.cc][LINE:117]
process pass InferShapePass on node:Concat_243 failed, ret:4294967295[FUNC:RunPassesOnNode][FILE:base_pass.cc][LINE:492]
build graph failed, graph id:0, [ret:1343242270[FUNC:BuildModel][FILE:ge_generator.cc][LINE:1378]
不修改 yolov5s.onnx 将focus层的slice和concate算子删除,可以转换成功,但是视频推理结果异常
想请问一下bytetrack追踪其他物体该如何训练
使用检测其他种类如手机的yolox模型放入bytetrack中,但是效果不好,想问一下跟踪其他物体在bytetrack需要做什么调整吗?
谢谢!
yolov5:输出的视频无法打开,显示此文件不包含可播放的流。
使用camera_input类处理单帧图像
修改camera_input的run函数,使用opencv读取一张图片,格式转换成yuv420sp,
然后把数据拷贝到camera_buffer 中去。
void *camera_buffer = DevMemPool::AllocDvppMem(cam_buffer_size);
auto dev_cam_buffer = std::make_shared<DeviceBuffer>(
camera_buffer, cam_buffer_size, DeviceBuffer::DvppMemDeleter());
output_queue->push(dev_cam_buffer);
程序运行后报了一个问题
terminate called after throwing an instance of std::out_of_range what(): _Map_base::at
2、在dvpp_decoder.cpp中DvppDecCallback函数中存储了一帧yuv420sp测试数据,
在camera_input直接读取一帧yuv420sp的原始数据放入输出队列后,同样也会出现以问题。
3、改变数据格式,直接使用RGB数据同样也会出现问题。
程序直接使用测试视频,处理流程正常运行。
这边没有相机设备无法验证该处理流程。
不知道博主有没有测试过相机的处理流程。或者遇到同样的问题?
谢谢!
关于检测代码中视频数据流的问题
如果使用camera作为数据输入源,检测结果通过RTSP拉流显示,那么数据流是不是下面这个流程
camera输入(yuv420) -> yuv420sp2rgb -> npu推理+画框 -> dvpp编码 -> h264码流 -> 通过ffmpeg将码流写入到rtsp服务端 -> 本地vlc播放rtsp网络串流
1.通过ffmpeg将码流写入到rtsp服务端这一步理解的是不是有问题?
2.数据流程图中间是否有缺漏?
Thanks
运行例程失败 no libraries: libacl_demo.so
编译成功之后运行run.sh的时候出现以下问题:
./build/acl_multi_stream_demo: error while loading shared libraries: libacl_demo.so: cannot open shared object file: No such file or directory
请问是什么原因呢?
运行报错:segmentation fault
运行代码:
./run.sh config/yolov3_demo.json
报如下错误:
./run.sh: line 5: 1640 Segmentation fault ./build/acl_demo_app -c $1
{
"streams": [
{
"name": "deep_sort_demo_stream1",
"stream_type": "deep_sort_demo",
"src": "test.mp4",
"dst": "output1.mp4",
"hw_encoder": false,
"yolov3_model_path": "./model/sample-yolov3_pp_416.om",
"deepsort_model_path": "./model/deepsort_mars.om"
}
],
"config": {
"app_perf": true,
"perflog_path": "."
}
}
Atlas200DK,关于不同分辨率视频推理速度以及4K视频无法推理问题
运行时间问题
你好,尝试了yolov3 stream和deepsort stream,并且用你提供的tracing查看了运行时间,有几个问题和疑惑想咨询一下:
1、前处理,模型预测,后处理等操作是并行处理的,处理一帧所消耗的时间是由所有操作中消耗时间最长的那个模块决定的,如下图所示,本次消耗时间为40.876ms,由FFMPEGOUT::SendFrame操作决定。这样理解对吗?
2、yolov3中其中有一帧FFMPEGOUT::SendFrame操作消耗了近1000ms,这是什么原因?
3、我用时长一分钟视频测试,yolov3大约等了好几分钟才出结果(两三分钟),yolov3+deepsort时间更长,请问这是正常的吗?
4、运行了deepsort算法以后,发现DeepSortTracker占用时间较长(150ms左右),deepsort有没有加速的方法?
5、你在200dk上跑的时候有没有关注过AIcore的利用率?跑yolov3的时候发现,AICore的利用率在80%-90%,占用率较高;但是跑yolov3+deepsort的时候发现占用率只有10%左右,按我的理解后者不应该是更高的嘛?这是为什么?
写的比较杂~
您好 想向您请教这里使用的语法
请问YOLOv5(6.0)进行ATC转换问题
作者你好,我导出onnx模型后,使用你提供的ATC命令进行转换,结果异常停止
log显示
{
"cause": [
{
"code": 1,
"message": "The type is not supported."
}
],
"name": "Resize_117",
"result": "failed",
"type": "ai.onnx::13::Resize"
},
我用Netron查看,应该是upsample那里有问题。请问你是否也遇到过类似的问题,以及如何解决呢?
使用自己的mp4文件,出现segmentation fault
需求:DeepSort部分C++部署
能否跟踪部分使用C++部署,进一步提供跟踪性能
如何单独应用deepsort_mars.om
你好,首先感谢你的项目
我现在想把在200dk上,
在我自己的yolov4.om输出后面接上,deepsort_mars.om进行追踪。
使用mindstudio查看deepsort_mars.om结构,
得知其输入为[16, 128, 64, 3]。
我有以下疑问:
- [16, 128, 64, 3]的输入代表的意义
- yolov4的detct的输出怎么转化为deepsort_mars.om的输入
- 我使用的是python,对于这个转化过程可以参考你的那一些代码?
以上,再次感谢!
yolov4_1_3_416_416_aipp.om,无法运行
参考教程https://zhuanlan.zhihu.com/p/384506398后,
得到二进制文件https://zhuanlan.zhihu.com/p/384506398,
运行代码:
./run.sh config/yolov4_demo.json
total dev count: 1
[FFMPEGInput::Init] test.mp4 codec name:h264
avcc profile: 100
frame h: 720 frame w: 1280
ticks_per_frame: 2
framerate.num: 30
framerate.den: 1
ref frame num: 1
has B frame: 0
pix format: 0
codec_tag 828601953
extra_data size: 46
[DvppDecoder::Init] h: 720 w:1280output_size: 1382400
/home/HwHiAiUser/deepsort/src/acl_model.cpp:13 aclError:145000
/home/HwHiAiUser/deepsort/src/acl_model.cpp:14 aclError:100000
/home/HwHiAiUser/deepsort/src/acl_model.cpp:15 aclError:100000
./run.sh: line 5: 6097 Segmentation fault ./build/acl_demo_app -c $1
yolox+bytetrack运行失败
[EVENT] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:06.102.646 [dvpp_statistic.cc:76][PrintGlobalStatisticInfo][tid:32660][DVPP_KERNELS] JPEG_ENCODE statistic: {receive:0, submit:0, success:0, failed:0}.
[EVENT] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:06.102.666 [dvpp_statistic.cc:76][PrintGlobalStatisticInfo][tid:32660][DVPP_KERNELS] PNG_DECODER statistic: {receive:0, submit:0, success:0, failed:0}.
[EVENT] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:06.102.690 [vdec_statistic.cc:186][PrintStatisticInfo][tid:32660][DVPP_KERNELS] Vdec statistic: sendFrame{total:47, cache:5, success:42}, callback{image:29, eos:0, err:1}, getFrame{total:31, cache:5, success:26}.
[EVENT] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:06.102.710 [venc_statistic.cc:117][PrintStatisticInfo][tid:32660][DVPP_KERNELS] Venc statistic: sendFrame{total:0, cache:0, process cache:0, success:0}, callback{total:0, success:0}, release{total:0}.
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.103.028 [dvpp_timeout_manager.cc:33][OnPulse][tid:32660][DVPP_KERNELS] WaitId[0] task timeout, userData=0xfffef4003e70, timeout=30, duration=30.498840.
[EVENT] DVPP(32636,aicpu_scheduler):2022-05-05-11:25:09.103.125 [omx_adapt.cpp:2620][VDEC] [PrintVdecStatistic:2620] [T208] DFX[VDEC]: chn[0] frames statistic: total frames[42], eos(recv: no, send: no); aicpu queue[full], not-full to full(5), full to not-full(5), max transfer timecost: 249387; current time: 268284.928658; normal callback frames[28], average timecost: 0 us, max: 129735 us, min: 954 us, start time: 268254.537992, end time: 268254.533678; abnormal callback frames[1], average timecost: 0 us, max: 46 us, min: 46 us, start time: 268253.565208, end time: 268253.565254
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.103.159 [dvpp_vdec_kernels.cc:520][OnTimeout][tid:32660][DVPP_KERNELS] Dvpp channel[0] send vdec frame timeout, streamId:[16], taskId:[88], waitId:[0].
[EVENT] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.103.195 [vdec_statistic.cc:121][PrintStatisticInfo][tid:32660][DVPP_KERNELS] Vdec channel[0] statistic: sendFrame{total:47, cache:5, success:42}, callback{image:29, eos:0, err:1}, getFrame{total:31, cache:5, success:26}.
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.112.913 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32644][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[90], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.112.956 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32644][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.112.979 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32644] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.123.224 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32643][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[92], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.123.268 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32643][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.123.290 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32643] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.133.846 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32648][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[94], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.133.890 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32648][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.133.911 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32648] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.144.760 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32646][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[96], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.144.804 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32646][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.144.826 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32646] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.155.125 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32644][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[98], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.155.155 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32644][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.155.172 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32644] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.166.070 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32643][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[100], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.166.102 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32643][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.166.121 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32643] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.176.945 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32648][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[102], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.176.982 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32648][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.177.002 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32648] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.188.480 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32646][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[104], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.188.516 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32646][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.188.536 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32646] Aicpu engine process failed, result[4].
[ERROR] AICPU(32636,aicpu_scheduler):2022-05-05-11:25:09.198.910 [dvpp_vdec_kernels.cc:306][DoCompute][tid:32644][DVPP_KERNELS] Kernel:DvppSendVdecFrameV2 vdecDescInfoPtr is abnormal. taskId:[106], streamId:[16], channelId is 0.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.198.939 [ae_kernel_lib_aicpu.cc:237][TransformKernelErrorCode][tid:32644][AICPU_PROCESSER] call aicpu api DvppSendVdecFrameV2 in libdvpp_kernels.so failed, ret:4.
[ERROR] CCECPU(32636,aicpu_scheduler):2022-05-05-11:25:09.198.957 [aicpusd_event_process.cpp:1138][ExecuteTsKernelTask][tid:32644] Aicpu engine process failed, result[4].
rtsp视频流输出具体该怎么操作呢?
如果需要rtsp视频流输出,具体该怎么操作呢?
除了将config配置文件中dst的内容改成视频流地址,还需要做什么才能使检测结果返回成视频流形式输出?
获取视频流输入出现的连接问题
demo支持MP4输入
看起来MP4输入可以直接使用RTSP输入的代码,但是有一个问题:
MP4输入的AVPacket实际上可能很可能包含多帧,而ACL VDEC只支持单帧的输入,现在暂时没有找到好的方案。
最差的情况可能考虑软件解码,因为目前看来瓶颈可能不在编解码。
想请教一下有关于YOLOv5 6.0 输出的问题
想请教一下您,如果想用样例输出标签应该如何修改代码呢
请问 FFmpeg 用的什么版本
请问yolov5的aipp.cfg参数怎么得来能,可以解释一下参数吗?谢谢!
YOLOV3的aipp_yolov3_pp.cfg参数如下:
aipp_op {
aipp_mode : static
related_input_rank : 0
input_format : YUV420SP_U8
src_image_size_w : 416
src_image_size_h : 416
crop : false
csc_switch : true
rbuv_swap_switch : false
matrix_r0c0 : 256
matrix_r0c1 : 454
matrix_r0c2 : 0
matrix_r1c0 : 256
matrix_r1c1 : -88
matrix_r1c2 : -183
matrix_r2c0 : 256
matrix_r2c1 : 0
matrix_r2c2 : 359
input_bias_0 : 0
input_bias_1 : 128
input_bias_2 : 128
min_chn_0 : 104
min_chn_1 : 117
min_chn_2 : 123
var_reci_chn_0 : 0.0039216
var_reci_chn_1 : 0.0039216
var_reci_chn_2 : 0.0039216
}
YOLOV5的yuv420sp_aipp.cfg参数如下:
aipp_op {
aipp_mode: static
input_format : YUV420SP_U8
csc_switch : true
rbuv_swap_switch : false
matrix_r0c0 : 298
matrix_r0c1 : 0
matrix_r0c2 : 459
matrix_r1c0 : 298
matrix_r1c1 : -55
matrix_r1c2 : -136
matrix_r2c0 : 298
matrix_r2c1 : 541
matrix_r2c2 : 0
input_bias_0 : 16
input_bias_1 : 128
input_bias_2 : 128
var_reci_chn_0 : 0.0039216
var_reci_chn_1 : 0.0039216
var_reci_chn_2 : 0.0039216
}
查了其它资料,不太明白您YOLOV3和YOLOV5的参数差别很大。能解释一下这些参数怎么得来的吗?
编译失败
apt-get install libopencv-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libopencv-dev
没有libopencv-dev包
编译失败,
20.1版本,
python3.6
gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
cmake version 3.10.2
Atlas200DK
root@davinci-mini:/home/HwHiAiUser/Atlas200DK_ACL# ./build.sh
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/HwHiAiUser/Atlas200DK_ACL/build
Scanning dependencies of target acl_demo
[ 20%] Building CXX object CMakeFiles/acl_demo.dir/src/ffmpeg_output.cpp.o
[ 20%] Building CXX object CMakeFiles/acl_demo.dir/src/dvpp_decoder.cpp.o
[ 20%] Building CXX object CMakeFiles/acl_demo.dir/src/acl_model.cpp.o
[ 20%] Building CXX object CMakeFiles/acl_demo.dir/src/ffmpeg_input.cpp.o
In file included from /home/HwHiAiUser/Atlas200DK_ACL/src/acl_model.cpp:1:0:
/home/HwHiAiUser/Atlas200DK_ACL/src/acl_model.h:4:10: fatal error: acl/acl.h: No such file or directory
#include "acl/acl.h"
^~~~~~~~~~~
In file included from /home/HwHiAiUser/Atlas200DK_ACL/src/ffmpeg_input.cpp:1:0:
/home/HwHiAiUser/Atlas200DK_ACL/src/ffmpeg_input.h:5:10: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/HwHiAiUser/Atlas200DK_ACL/src/dvpp_decoder.cpp:1:0:
/home/HwHiAiUser/Atlas200DK_ACL/src/dvpp_decoder.h:5:10: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
compilation terminated.
In file included from /home/HwHiAiUser/Atlas200DK_ACL/src/ffmpeg_output.cpp:1:0:
/home/HwHiAiUser/Atlas200DK_ACL/src/ffmpeg_output.h:6:10: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
CMakeFiles/acl_demo.dir/build.make:110: recipe for target 'CMakeFiles/acl_demo.dir/src/acl_model.cpp.o' failed
make[2]: *** [CMakeFiles/acl_demo.dir/src/acl_model.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/acl_demo.dir/build.make:62: recipe for target 'CMakeFiles/acl_demo.dir/src/dvpp_decoder.cpp.o' failed
make[2]: *** [CMakeFiles/acl_demo.dir/src/dvpp_decoder.cpp.o] Error 1
CMakeFiles/acl_demo.dir/build.make:134: recipe for target 'CMakeFiles/acl_demo.dir/src/ffmpeg_output.cpp.o' failed
make[2]: *** [CMakeFiles/acl_demo.dir/src/ffmpeg_output.cpp.o] Error 1
CMakeFiles/acl_demo.dir/build.make:86: recipe for target 'CMakeFiles/acl_demo.dir/src/ffmpeg_input.cpp.o' failed
make[2]: *** [CMakeFiles/acl_demo.dir/src/ffmpeg_input.cpp.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/acl_demo.dir/all' failed
make[1]: *** [CMakeFiles/acl_demo.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
关于./run.sh config/yolov3_demo.json如何输出score和label信息?
yolov3_stream.cpp中加入std::count屏幕输出语句,运行./run.sh config/yolov3_demo.json并没有score和label信息输出是怎么回事,应该怎么做才能得到屏幕输出呢?
memcpy(input_buffers[0], buffer, model->GetInputBufferSizes()[0]);报错问题
问题求助:./build.sh执行编译出现fatal error: nlohmann/json.hpp: No such file or directory
想運行demo,但在./build.sh時,出現如題找不到頭文件的問題,請問可能是因爲什麼原因呢
rtsp h265 摄像头,运行提示 Segmentation fault
运行:
./run.sh config/yolov5_v6_rtsp_demo.json
报错:
total dev count: 1
[FFMPEGInput::Init] rtsp://192.168.144.25:554/user=admin&password=&channel=1&stream=0.sdp? codec name:hevc
avcc profile: 1
frame h: 1440 frame w: 2560
ticks_per_frame: 1
framerate.num: 20
framerate.den: 1
ref frame num: 1
has B frame: 0
pix format: 12
codec_tag 0
extra_data size: 111
[DvppDecoder::Init] h: 1440 w:2560output_size: 5529600
./run.sh: line 15: 21612 Segmentation fault ./build/acl_demo_app -c $1
其中 config/yolov5_v6_rtsp_demo.json
文件是 fork 的 config/yolov5_v6_demo.json
,只是更改了 src 字段,完整内容如下:
{
"streams": [
{
"name": "yolov5_demo_stream1_rtsp",
"stream_type": "yolov5_demo",
"src": "rtsp://192.168.144.25:554/user=admin&password=&channel=1&stream=0.sdp?",
"dst": "freecar_yolov5_v6_rtsp.mp4",
"model_height" : 640,
"model_width" : 640,
"model_box_num": 25220,
"model_class_num": 80,
"hw_encoder": true,
"enable_neon": false,
"yolov5_version": "v6",
"yolov5_model_path": "./model/yolov5s_v6.om"
}
],
"config": {
"app_perf": true,
"perflog_path": "."
}
}
由于这个 rtsp 流是 hevc / h265 的,因此源码中将src/ffmpeg_input.cpp
中的 h264_mp4toannexb
改为了 hevc_mp4toannexb
:
- bsf_filter = av_bsf_get_by_name("h264_mp4toannexb");
+ bsf_filter = av_bsf_get_by_name("hevc_mp4toannexb");
其中,模型文件 ./model/yolov5s_v6.om
也是刚在同一台机器上参考教程刚转换出来的,都是使用的 root 账号,应该都有权限。
图像序列输入的推理
感谢您的工作!
但在实际部署使用中,通常需要进行实时处理,即单张单张的输入图像。
我尝试基于您的代码进行修改。1)初始化模型参数,获得跟踪器;2)对于输入的单张图像运行跟踪器,获得跟踪结果。大概是去除您代码中的task node之间的关系,重新缕为单线程。方便在总体调用的函数进行多线程的改造,并进行online的实时跟踪。(目前的修改主要修改的是yolox_bytetrack_stream.cpp和yolox_bytetrack_stream.h
但我还是个C的初学者,您看我的思路是可行的吗,有没有可以借鉴参考的例子呢
期待您的回复~
处理后的mp4全绿色
编译运行步骤
请问,此工程的编译可以在20.1环境下进行吗?
如果可以,具体的build流程方便介绍一下吗?
感谢大神开源,请问一下rtsp或者rtmp推流需要修改配置文件哪个位置呢?
请问一下rtsp或者rtmp推流需要修改配置文件哪个位置呢?
rtsp视频流输入丢包,无法执行检测程序
请问一下这个问题您遇过吗
Atlas 200DK 编译
[100%] Linking CXX executable benchmark_demo
/usr/bin/ld: warning: libdevmm.so, needed by /usr/local/Ascend/acllib/lib64/libruntime.so, not found (try using -rpath or -rpath-link)
关于如何测试Atlas200DK上模型的mAP以及profiling中postprocess的一些疑问
问题一:
你好,我近期在做Atlas200DK上yolov5剪枝模型的部署工作,想要对比模型剪枝前后性能的变化,其中速度可以通过profiling去看,但是mAP不知道怎么测试。我找到了源码中和画框相关的代码段,请问是只能修改源码去做一个bbox坐标提取后,再进行mAP计算吗?还是说项目中有自带的bbox坐标输出接口?
问题二:
在看profiling生成的yolov5的perflog.json文件时,注意到中间有一段很长的postprocess过程,而同时期并没有其他接口被调用。请问这时的postprocess是在做一个什么工作呢?
以下是yolov5m v6.0的perflog.json文件:
yolov5推理速度
yolov5模型推理时间最快50ms,看你测试的在20ms左右,是需要修改哪里的参数吗?
另外,换了yolov5n以及yolox,推理速度(不算后处理)都差不多在50ms以上,这是为什么呢
如果想用yolov4 608x608 + deepsort,应该要怎么修改
目前的需求是使用Tianxiaomo /pytorch-YOLOv4,把yolov4官方的weights转成608x608 yolov4.om
然后把config文件改成,如下:
{
"streams": [
{
"name": "deep_sort_demo_stream1",
"stream_type": "deep_sort_demo",
"src": "test.mp4",
"dst": "output1.mp4",
"hw_encoder": false,
"yolov3_model_path": "./model/company.om",
"deepsort_model_path": "./model/deepsort_mars.om"
}
],
"config": {
"app_perf": true,
"perflog_path": "."
}
}
运行./run.sh config/deep_sort_demo.json
无法正常推理。
/home/HwHiAiUser/deepsort/src/yolov3_stream.cpp:40 aclError:100000
/home/HwHiAiUser/deepsort/src/acl_model.h:58 aclError:107000
/home/HwHiAiUser/deepsort/src/yolov3_stream.cpp:40 aclError:100000
terminate called after throwing an instance of 'std::length_error'
what(): vector::reserve
./run.sh: line 5: 4679 Segmentation fault ./build/acl_demo_app -c $1
是需要该哪里的代码吗?
编译环境
大佬 你这个工程的编译环境是直接在200DK上面编的吧,有没有x86下交叉编译的版本呢
跑demo时报错没有torch模块
为什么yolox转模型的时候需要将focus层的slice和concate算子删除?
atc不是支持slice和concate算子的么?
想请教一下关于yolov5 6.0版本的输出
由于需要输出为标签,想请教一下如何对代码进行修改呢
问题求助:./build.sh执行编译出现fatal error: acl/acl.h: No such file or directory
准备运行demo案例,执行编译的时候,出现找不到acl头文件。检查环境变量是对的,请问可能是什么原因呢?
量化过程中出现报错
请教一个问题,想问一下deepsort atc转换中的batch=16
如果yolo一次处理出来一张,deepsort不应该也是顺序处理的吗,这里的batch设为16是为何呢?
Yolov5跑demo的时候报错
有关fairmot等单阶段的目标跟踪算法
冒昧地问一下您有没有计划做单阶段的目标跟踪算法在atlas上的推理部署
这个项目应该也是支持在atlas200ai加速模块ep模式上的部署吧,毕竟都是用的ascend310,还在调研阶段所以想先问问
关于focus.cpp文件的几个问题
您好,最近在学习您的这份把代码,有几个不太明白的地方
1.focus_op.cpp文件中的FocusTransformNEON,FocusTransformNEONFuse,CvtFocusNEONFuse这几个函数有什么区别吗?2.CvtFocusNEONFuse函数是不是包含了色彩空间转换和focus两个功能?Cvt转换得到的是rgb格式的吗,如果想得到bgr格式的该如何改进呢,NEON这部分代码还不太懂。
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.