Giter VIP home page Giter VIP logo

nniefacelib's Introduction

nniefacelib

nniefacelib是一个在海思35xx系列芯片上运行的人脸算法库,目前集成了mobilefacenet和retinaface。 后期也会融合一些其他经典的模型,目的也是总结经验,让更多人早日脱离苦海。

目前只在3516DV300上进行了测试。鉴于很多同学在其他型号上进行测试失败的情况,做一下统一说明,编译错误显示, 不同型号的sample代码略有不同,有必要的话需要自己移植核心源码,仿照着SDK的源码进行移植,应该问题不大

更新项

2020-5-15 添加linux mapper工具,以retinaface为例子
https://pan.baidu.com/s/16pFjdX_fQcVl2I4bAIf4Mw
code:1dw8

2020-4-28 添加了retinaface与mobilefacenet的merge bn tool, 提供了优化后的低精度retinaface(640x640), 17ms, 而高精度为34ms

2020-4-24 更新了PFPLD模型在海思上的前向传播代码

入坑指南

因为代码这部分并没有对NNIE进行重构,是纯C代码,所以看起来会比较晦涩,为此,我们可以将算法模块直接编译成 动态链接库供上层进行调用。

make -f Makefile.Shared

为了方便测试,也可以直接编译成可执行文件

make -f Makefile.Debug
# 人脸检测
./nnie_face_test 0
# 人脸识别特征提取
./nnie_face_test 1
# PFPLD人脸姿态估计以及98关键点
./nnie_face_test 2

模型转换

模型转换其实是一个大坑,也可以说是一个玄学,如何转换?如何让速度更快?目前也是在总结一些经验, 我也会在知乎上更新一些关于模型转换的一些方法
海思NNIE之Mobilefacenet量化部署
海思NNIE之RetinaFace量化部署
海思NNIE之PFPLD训练与量化

TODO

nniefacelib's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nniefacelib's Issues

pfld 结果不正确

你好,我用你的caffemodel生成了一个wk文件,在海思芯片上运行之后发现得到的landmark结果不对;我输入的是一个cvMat图像,通过channel,height,width的遍历顺序对输入Blob赋值的,指针是HI_8U,输出从blob拿出后直接除了4096,然后乘了112,我的人脸图像就是112的

不知道哪里不正确。。。

还不能贴图,崩溃了

关于视频流测试

请问你接入过海思视频流进行过测试吗?我用图片测试人脸识别没有问题,但接入海思vpss处理后的视频流无法检测到人脸。

关于重新转模型结果异常问题

您好,我用的是3559A板子,重新转wk模型之后传到板子上跑,提取到的人脸向量特征值都很大,都是几千 几万的,请问可能是什么原因?
另外,我看您在知乎的文章里提到特征向量的对比,我简单看了下代码之后,CNN_convert_bin_and_print_featuremap.py和caffe_forward.py好像都是通过caffe模型来计算特征向量的,结果理当是一样的吧?好像并没有对比转换之后的wk模型。
谢谢!
image

onnx转化caffe模型出错,ONNX node of type Pad is not supported.

按照作者的思路,把作者的那个、models/pretrained/checkpoint_robust.pth,利用convert_to_onnx.py转化为onnx,模型,可以成功得到一个onnx模型,但是在把此onnx模型利用convertCaffe.py,转化为caffe模型时候出错。爆出ONNX node of type Pad is not supported.。我的torch版本为1.3.0+cpu,我的onnx版本为1.6.0,请问什么情况,有遇到过吗 ?该如何解决

HI3559A下量化merge_bn后的RetinaFace模型精度不理想

我尝试了用目录下的模型在HI3559A上进行量化,最后输出的landmark和bbox的精度不太理想。
image
实际上板运行后的结果误差更大
image
并且最后没有任何输出
image
我尝试过使用只删除了crop层未改变顺序的prototxt进行量化没有出现知乎文章中的错误,但是最后的结果是不正确的
image

想询问一下可能是哪里出了问题?

关于pretrain model

你好,我看训练代码的pretrain model是model/pretrain/checkpoint_epoch_final.pth,而测试代码也是用的checkpoint_epoch_final.pth,这个checkpoint_epoch_final.pth应该不是在提供的PFPLD-Dataset上训练得到的吧?

关于PFPLD0.25

请问你的PFPLD训练精度怎么样?
我用PFPLD-0.25训练200Epoch到这个程度很难收敛了:
Epoch: 200, train pose loss: 0.2786, train lds loss:17.5812, val pose MAE:8.4492, val lds NME:29.3052, val lds ION:5.0024, lr:0.000010
不知道这够不够。

速度慢的问题

大帅您好,我发现这个模型在P40上大概要15ms才能搞定一张图片,CPU上就慢的简直不能接受,一张图推理时间2-3s。您测试时快吗?

nnie_mapper 转换 mnet.caffemodel 非常慢

博主你好,我在使用 nnie_mapper_gpu 转换一个支持YUV420SP的retinafece模型,发现非常慢,6个多小时了还没转换完,请问是什么问题呢?
cfg文件配置:
[prototxt_file] ./../data/det_face/mnet.prototxt
[caffemodel_file] ./../data/det_face/mnet.caffemodel
[batch_num] 256
[net_type] 0
[sparse_rate] 0
[compile_mode] 0
[is_simulation] 0
[log_level] 3
[instruction_name] ./../data/det_face/retinaface_inst
[RGB_order] BGR
[data_scale] 0.0039062
[internal_stride] 16
[image_list] ./../data/det_face/imageList.txt
[image_type] 3
[mean_file] null
[norm_type] 0

过程日志:
begin net parsing....

end net parsing

begin prev optimizing....

end prev optimizing....

begin net quantalizing(GPU)....


WARNING: file: Inference::computeNonlinearQuantizationDelta line: 92
data containing only zeros; set max value to 1e-6.


WARNING: file: Inference::computeNonlinearQuantizationDelta line: 92
data containing only zeros; set max value to 1e-6.


WARNING: file: Inference::convBnParamProcess line: 816
layer[mobilenet0_conv5_group_15] value[0.00000000000000004205] is too small


WARNING: file: Inference::convBnParamProcess line: 816
layer[mobilenet0_conv25_group_69] value[0.00000000000002135883] is too small


WARNING: file: Inference::convBnParamProcess line: 816
layer[mobilenet0_conv25_group_88] value[0.00000000000016177380] is too small


WARNING: file: Inference::convBnParamProcess line: 816
layer[mobilenet0_conv25_group_104] value[0.00000000000021233644] is too small


WARNING: file: Inference::convBnParamProcess line: 816
layer[mobilenet0_conv25_group_109] value[0.00000000000001053666] is too small

end quantalizing

begin optimizing....

一直就卡在 begin optimizing.... 了

RetinaFace计算得到的矩形框位置错误

nnie_face_api.c中的结算人脸矩形框位置错误,应该以15为间隔
`
for(int i = 0; i < results->len; i ++)
{
anchor_t res = (anchor_t )list_at(results, i)->val;
printf("result rect: %d, %f, %f, %f, %f\n", i ,res.finalbox.x1, res.finalbox.y1, res.finalbox.x2, res.finalbox.y2);
as32ResultDet[i
5 + 0] = res.finalbox.x1;
as32ResultDet[i
5 + 1] = res.finalbox.x1;
as32ResultDet[i5 + 2] = res.finalbox.y1;
as32ResultDet[i
5 + 3] = res.finalbox.x2;
as32ResultDet[i*5 + 4] = res.finalbox.y2;

    for (int j = 0; j < LANDMARKS; ++j) {
        as32ResultDet[i*5 + j * 2 + 5] = res.pts[j].x;
        as32ResultDet[i*5 + j * 2 + 6] = res.pts[j].y;
        printf("result lds: %d, %f, %f\n", j + 1 ,res.pts[j].x, res.pts[j].y);
    }
}

`

请教关于batch并行计算即retinaface输入尺寸的问题

您好!想请教两个问题
1、请问nnie是否支持batch并行计算,是否有相关例程;
2、您提供的retinaface代码是否支持输入宽、高不相等的情况,我把输入改成宽高不等的情况,输出会多很多不准确的框,而且有的坐标值为负几百。
感谢

PFPD-dataset

你好,感谢提供了PFPLD-Dataset.rar的数据集!下载后准备用来训练,但发现train_data/list.txt 中landmark部分有许多-256.0的点,请问这是否是正常的结果?是不是因为300W中是68点,故意补充-256.0作为虚点 便于训练的?
PS:众多的.txt文件 用哪个来训练?

About landmark

请问你有遇到过这种问题吗,整体的landmarks偏下移动
test
以下是原图
1

WFLW数据集问题

WFLW数据集本身只是一个2D的数据集7500用于训练 2500用于测试,但是大佬在这做了数据增强(旋转,镜像等),而不是用prnet做3D的数据集?镜像的话会不会关键点会不准呢?求大佬解释,谢谢

人脸旋转角过大,关键点效果不好

有网友反馈在角度过大时候,关键点效果不好。比如这样子
(CNDWUG_0FY4CO(WQYCFT
这个和人脸框扩大的尺度有关系,在程序中设置的是0.9,但是如果遇到旋转角度过大的情况,人脸就无法完全包含在框内,所以可以将其设置为1.1。 ^_^
T(Z%G7BK CHVKYF(@%IU2$4

Hi3559 可以运行作者的retinaface代码,亲测可以

简单记录一下,后面谁可能用到

  1. 类型转换,作者代码里面使用类似用一个函数做了类型转换,要模仿Hi3559里面使用c语言里面,类型强制转换
  2. 模型要使用作者提供baidupan里面下载的模型和cfg文件等,使用Hi3559配套的ruyi工具重新生成
    det41

x : 226.078995 y: 322.559723 w:269.671021 h384.721527
result rect: 0, 133.953354, 246.735474, 194.546646, 338.514526
result lds: 1, 170.500000, 282.062500
result lds: 2, 177.187500, 278.781250
result lds: 3, 192.875000, 289.546875
result lds: 4, 183.093750, 313.906250
result lds: 5, 187.171875, 311.953125
result rect: 1, 457.710876, 84.530075, 523.195374, 173.344925
result lds: 1, 468.250000, 121.718750
result lds: 2, 481.625000, 119.015625
result lds: 3, 467.750000, 139.484375
result lds: 4, 481.578125, 153.562500
result lds: 5, 490.937500, 150.656250
result rect: 2, 226.078995, 322.559723, 269.671021, 384.721527
result lds: 1, 255.812500, 346.234375
result lds: 2, 260.234375, 343.093750
result lds: 3, 269.750000, 354.765625
result lds: 4, 260.031250, 369.000000
result lds: 5, 263.406250, 366.937500

makefile.debug

想在nnie_face_api.c 中加opencv代码,想在图片上框出人脸,makefile.debug可以怎么改呢,小白改了好久,opencv头文件找不到,把.c改成.cpp可以吗,迷糊了一天,谢谢大佬

ruyi模型转换的几个配置文件能不能分享一下?

[prototxt_file] ./mark_prototxt/mobilefacenet_mark_nnie_20190723102335.prototxt
[caffemodel_file] ./data/face/mobilefacenet.caffemodel
[batch_num] 256
[net_type] 0
[sparse_rate] 0
[compile_mode] 0
[is_simulation] 0
[log_level] 3
[instruction_name] ./data/face/mobilefacenet_inst
[RGB_order] RGB
[data_scale] 0.0078125
[internal_stride] 16
[image_list] ./data/face/images/imageList20190723102419.txt
[image_type] 1
[mean_file] ./data/face/pixel_mean.txt
[norm_type] 5

The forward speed of wk model

Hi, why the forward speed of wk model is slower than yours, (maybe caused by the different version of nnie mapper tool ?)

Is there any difference beween CPU mapper and GPU mapper? all wk models gennerated by these work on nnie?

wk量化支持膨胀卷积吗

膜拜大佬,交流一下:下图是我的网络输入
image

输入后紧跟的是膨胀卷积,量化的时候不报错,但是这层的量化差异非常大, 大佬有遇到过这个问题吗

stdout缓冲引起的高耗时

在3516dv300上试了试retinaface,nnie耗时34ms,cpu耗时比较夸张有1s多,是不是nms耗时比较严重?

关键点抖动问题

运行PFPLD和之前的PFLD代码,发现作者代码的关键点抖动移动端mobilenet0.25模型明显改善,想问下,这个改善主要和什么有关,如何解决关键点抖动问题?

自己转换模型与你提供模型的差异

你好,请问你生成mnet_640_inst.wk用的什么版本的ruyi、什么版本的mapper?是文章里Mapper Version 1.1.2.0_B050 (NNIE_1.1) 1812171743151709这个版本吗?我用你的wk输入到我自己的代码里就能出正确结果,我自己转的wk(用你的caffe模型)可以加载模型,但是输出结果不对。另外,你的模型2844KB,我的模型只有2066KB?转换时设置的参数跟你的一样。而且我用你3516cv500转的wk在我的3519av100上跑居然没问题,而自己转的就是不对。。。。。求回复,谢谢

请教下关于这个makefile的问题

你好,最近打算往3516dv300上移植一套人脸检测的算法哈哈,看了下大佬这makefile,小弟有个疑问想请教。
include $(PWD)/../Makefile.param

include $(PWD)/../../$(ARM_ARCH)_$(OSTYPE).mak

这两个makefile是在海思提供的开发环境里吗? 因为您这的路径里没有。。

make -f Makefile.Debug出错了

`nniefacelib/vision/sample_svp_nnie_software.c: In function ‘SAMPLE_SVP_NNIE_Cnn_GetTopN’:
nniefacelib/vision/sample_svp_nnie_software.c:2693:9: warning: implicit declaration of function ‘SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR’ [-Wimplicit-function-declaration]
pstNnieParam->astSegData[0].astDst[0].u32Stride,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2693:44: error: expected expression before ‘HI_S32’
pstNnieParam->astSegData[0].astDst[0].u32Stride,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2698:44: error: expected expression before ‘HI_S32’

                                        ^~~~

nniefacelib/vision/sample_svp_nnie_software.c:2700:44: error: expected expression before ‘HI_S32’
SAMPLE_SVP_CHECK_EXPR_RET(HI_SUCCESS != s32Ret,s32Ret,SAMPLE_SVP_ERR_LEVEL_ERROR,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c: In function ‘SAMPLE_SVP_NNIE_FasterRcnn_Rpn’:
nniefacelib/vision/sample_svp_nnie_software.c:2779:44: error: expected expression before ‘HI_U32’
SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR(HI_S32,pstSoftwareParam->stRpnBbox.u64VirAddr),
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2780:44: error: expected expression before ‘HI_S32’
&pstSoftwareParam->stRpnBbox.unShape.stWhc.u32Height);
^~~~~~
In file included from /home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../mpp/out/linux/multi-core/include/hi_comm_svp.h:16:0,
from nniefacelib/vision/sample_svp_nnie_software.h:8,
from nniefacelib/vision/sample_svp_nnie_software.c:1:
/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../mpp/out/linux/multi-core/include/hi_type.h:79:33: error: expected expression before ‘void’
#define HI_VOID void
^
nniefacelib/vision/sample_svp_nnie_software.c:2783:44: note: in expansion of macro ‘HI_VOID’

                                        ^

nniefacelib/vision/sample_svp_nnie_software.c: In function ‘SAMPLE_SVP_NNIE_Pvanet_Rpn’:
nniefacelib/vision/sample_svp_nnie_software.c:2821:5: warning: implicit declaration of function ‘SAMPLE_SVP_NIE_PERF_STAT_DEF_VAR’ [-Wimplicit-function-declaration]

 ^

nniefacelib/vision/sample_svp_nnie_software.c:2824:5: warning: implicit declaration of function ‘SAMPLE_SVP_NNIE_PERF_STAT_BEGIN’ [-Wimplicit-function-declaration]
s32Ret = SVP_NNIE_Rpn(pstSoftwareParam->aps32Conv,pstSoftwareParam->u32NumRatioAnchors,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2833:78: error: expected expression before ‘HI_U32’
SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR(HI_S32,pstSoftwareParam->stRpnBbox.u64VirAddr),
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2834:44: error: expected expression before ‘HI_S32’
&pstSoftwareParam->stRpnBbox.unShape.stWhc.u32Height);
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2837:5: warning: implicit declaration of function ‘SAMPLE_SVP_NNIE_PERF_STAT_EN ’ [-Wimplicit-function-declaration]
SAMPLE_SVP_NNIE_PERF_STAT_RPN_OP_TIME();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../mpp/out/linux/multi-core/include/hi_comm_svp.h:16:0,
from nniefacelib/vision/sample_svp_nnie_software.h:8,
from nniefacelib/vision/sample_svp_nnie_software.c:1:
/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../mpp/out/linux/multi-core/include/hi_type.h:79:33: error: expected expression before ‘void’
#define HI_VOID void
^
nniefacelib/vision/sample_svp_nnie_software.c:2842:44: note: in expansion of macro ‘HI_VOID’

                                        ^

nniefacelib/vision/sample_svp_nnie_software.c: In function ‘SAMPLE_SVP_NNIE_FasterRcnn_GetResult’:
nniefacelib/vision/sample_svp_nnie_software.c:2944:63: error: expected expression before ‘HI_S32’
SAMPLE_SVP_CHECK_EXPR_RET(0 == pstSoftwareParam->stRpnBbox.u64VirAddr,HI_INVALID_VALUE,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2956:44: error: expected expression before ‘HI_S32’
pstNnieParam->astSegData[1].astDst[0].u32Stride,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2958:44: error: expected expression before ‘HI_S32’
pstNnieParam->astSegData[1].astDst[1].u32Stride,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2960:44: error: expected expression before ‘HI_S32’
pstSoftwareParam->stRpnBbox.unShape.stWhc.u32Height,
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2965:44: error: expected expression before ‘HI_U32’
SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR(HI_S32,pstSoftwareParam->stDstScore.u64VirAddr),
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2966:44: error: expected expression before ‘HI_S32’
SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR(HI_S32,pstSoftwareParam->stDstRoi.u64VirAddr),
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2967:44: error: expected expression before ‘HI_S32’
SAMPLE_SVP_NNIE_CONVERT_64BIT_ADDR(HI_S32,pstSoftwareParam->stClassRoiNum.u64VirAddr));
^~~~~~
nniefacelib/vision/sample_svp_nnie_software.c:2968:44: error: expected expression before ‘HI_S32’

`

关于训练的Log

感谢你出色的工作,训练的log可以分享一下吗?我想比较一下自己训练出来的是怎么样一个水平

人脸识别模型的输入及预处理问题

您好,感谢大佬优秀的代码分享,我想请教一下这个代码中的人脸识别(特征提取)模型的输入,是直接把人脸检测得到的box,crop成图像嘛,对于检测得到的box有没有什么移动/缩放的操作,另外是否需要根据landmark的位置做人脸姿态矫正,然后再输入特征提取网络进行特征提取?

mobilefacenet features关于stride和width不一致问题

使用您仓库里的mobilefacenet_inst.wk,features输出如下:
features: { stride: 2048 blob type :4 { c :1 h :1 w :512 }
我自己转换之后,以及您知乎上的例子,features输出如下:
features: { stride: 512 blob type :4 { c :1 h :1 w :128 }
想了解下之间的差异在哪。
感谢。

数据集说明

你好,麻烦提供一下数据集文件的说明,里面文件很多

Hi3559AV100R001C02SPC030编译可执行文件失败,是否需要特殊配置?<make -f Makefile.Debug>

aarch64-himix100-linux-gcc -Wall -g -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../common -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../mpp/out/linux/multi-core/include -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../audio/adp -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../osal/include -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../drv/extdrv/tlv320aic31 -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../drv/extdrv/motionsensor/motionsensor_mng -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../../../drv/extdrv/motionsensor/motionsensor_chip/pub -Dhi3559av100 -DHI_XXXX -lpthread -lm -ldl -DISP_V2 -lstdc++ -DSENSOR0_TYPE=SONY_IMX477_MIPI_8M_30FPS_12BIT -DSENSOR1_TYPE=SONY_IMX477_MIPI_8M_30FPS_12BIT -DSENSOR2_TYPE=SONY_IMX477_MIPI_8M_30FPS_12BIT -DSENSOR3_TYPE=SONY_IMX477_MIPI_8M_30FPS_12BIT -DSENSOR4_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT -DSENSOR5_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT -DSENSOR6_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT -DSENSOR7_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT -DHI_ACODEC_TYPE_INNER -DHI_ACODEC_TYPE_HDMI -Wall -fno-aggressive-loop-optimizations -ldl -ffunction-sections -fdata-sections -O2 -fstack-protector-strong -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -DHI_RELEASE -Wno-error=implicit-function-declaration -DVER_X=1 -DVER_Y=0 -DVER_Z=0 -DVER_P=0 -DVER_B=10 -DUSER_BIT_64 -DKERNEL_BIT_64 -Wno-date-time -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../common -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/vision -I/home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/sample_nnie_software -O3 -c -o /home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../common/sample_comm_vi.o /home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../common/sample_comm_vi.c /opt/hisi-linux/x86-arm/aarch64-himix100-linux/host_bin/../target/usr/lib/crt1.o: In function _start':
**/usr1/code/CODE_CCTD_V1R2C00/code/current/SDK_CPU_UNIFIED/build/script/aarch64-himix100-linux/aarch64_himix100_build_dir/src/glibc-2.24/csu/../sysdeps/aarch64/start.S:84: undefined reference to main' collect2: error: ld returned 1 exit status /home1/houjr/hjr/Hi3559A_SDK/Hi3559AV100R001C02SPC030/01.software/board/Hi3559AV100_SDK_V2.0.3.0/mpp/sample/svp/multi-core/nnie/../../../smp_linux.mak:10: recipe for target 'nnie_face_test' failed make: *** [nnie_face_test] Error 1**

训练出现错误

我训练时出现了element 0 of tensors does not require grad and does not have a grad_fn, 请问一下这个该怎么解决,pytorch用的1.2

debug

Hisilicon Hi35xx sample Makefile

include $(PWD)/../Makefile.param
SMP_SRCS += $(wildcard $(PWD)/../common/*.c)
include $(PWD)/../../$(ARM_ARCH)_$(OSTYPE).mak

刚开始做这个,请问编译时 这三行的文件是什么?(您编译好的可以运行,我也想编译一下,好像环境不一样)

负数坐标为超出范围的部分

我是实时从vpss里取的640*640的图像,送到mnet算法里后,发现出来的结果的坐标,有时候是负数,请问是做过坐标转换了吗?还是您的坐标系不是左上角是原点?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.