1、GIA 四个使用注意事项:
1、数据格式roi-resize yuv -》 yuv I420 vca-yv12
2、临时空间;getmemsize (算子中最大空间,类似结合体),必须申请临时空间
3、P4 崩溃问题,代码不规范导致(检讨),浪费较多时间;
4、不一致性问题:精度损失问题导致(输入参数,比例float数据),
由于GIA会对输入roi的 x,y,w,h做8对齐,可以输入(原始数据+2)/w,gia内部做对齐,解决精度误差。
2、AVR,softmax相加问题:
之前提供的是fc相加方式,已提供最新softmax相加,目前版本他们暂不支持
3、VAR、vkd、avr已添加GIA,
var使用gia耗时后,前处理耗时由2.35下降到0.511,总耗时由5.20下降到3.27;
4、下周计划:
协助完成gia集成到所有库;
vkd预研工作跟进;
GIA优化相关工作:
1、解决P4平台使用GIA后VAR段错误问题:
原因定位到是指针地址传递时被字节被截断导致,分析后得出是函数未声明使用导致(需要自身检讨);
2、解决结果不一致问题:
定位问题(1):由于GIA参数传递采用比例方式,故存在精度损失问题,接着内部做8字节对齐,导致和真值偏差很大;
解决:通过增加原始数据(1~7),gia内部8字节对齐会起到还原作用,以此解决精度损失问题;
定位问题(2):数据覆盖问题;
沟通后,得到GIA内部空间各算子输出结果共用显存空间,在调用多个算子时,每个算子输出结果必须拷贝到临时空间。
定位问题(3):输出数据格式不一致问题;
由于GIA目前版本是人脸抠图代码定制,输出结果默认I420格式数据和输入数据类型不一致,前期与屠震元的沟通都没有注意到这个问题导致;
3、P4 平台以VAR为例,使用GIA算子优化后,
前处理耗时由2.35 ms下降到0.511ms,
总耗时由5.20下降到3.27;
4、VKD、VAR、AVR集成GIA算子;
1、整体发布tx1 64bit版本AVR、VKD,一致性测试;
2、发布MA平台,VKD增加耗时pos,调整抠图;
3、参加GIA会议交流;
4、与黄崇基沟通支持AVR中softmax 层相加(Eltwise)问题,并提供最新softmax相加的量化模型;
1、数据格式roi-resize yuv -》 yuv I420 vca-yv12
2、临时空间;getmemsize (算子中最大空间,类似结合体),必须申请临时空间
3、P4 崩溃问题,代码不规范导致(检讨),浪费较多时间;
4、不一致性问题:精度损失问题导致(输入参数,比例float数据),
由于GIA会对输入roi的 x,y,w,h做8对齐,可以输入(原始数据+2)/w,gia内部做对齐,解决精度误差。
2、AVR,softmax相加问题:
之前提供的是fc相加方式,已提供最新softmax相加,目前版本他们暂不支持
3、VAR、vkd、avr已添加GIA,
var使用gia耗时后,前处理耗时由2.35下降到0.511,总耗时由5.20下降到3.27;
4、下周计划:
协助完成gia集成到所有库;
vkd预研工作跟进;
GIA优化相关工作:
1、解决P4平台使用GIA后VAR段错误问题:
原因定位到是指针地址传递时被字节被截断导致,分析后得出是函数未声明使用导致(需要自身检讨);
2、解决结果不一致问题:
定位问题(1):由于GIA参数传递采用比例方式,故存在精度损失问题,接着内部做8字节对齐,导致和真值偏差很大;
解决:通过增加原始数据(1~7),gia内部8字节对齐会起到还原作用,以此解决精度损失问题;
定位问题(2):数据覆盖问题;
沟通后,得到GIA内部空间各算子输出结果共用显存空间,在调用多个算子时,每个算子输出结果必须拷贝到临时空间。
定位问题(3):输出数据格式不一致问题;
由于GIA目前版本是人脸抠图代码定制,输出结果默认I420格式数据和输入数据类型不一致,前期与屠震元的沟通都没有注意到这个问题导致;
3、P4 平台以VAR为例,使用GIA算子优化后,
前处理耗时由2.35 ms下降到0.511ms,
总耗时由5.20下降到3.27;
4、VKD、VAR、AVR集成GIA算子;
1、整体发布tx1 64bit版本AVR、VKD,一致性测试;
2、发布MA平台,VKD增加耗时pos,调整抠图;
3、参加GIA会议交流;
4、与黄崇基沟通支持AVR中softmax 层相加(Eltwise)问题,并提供最新softmax相加的量化模型;
版权声明:本文为mengfanteng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。