Acuity-toolkit转换官方mobilenet模型,测试抛出异常

请问下我用官网的acuity-toolkit转换的mobilenet_v1模型,在npu上抛出了异常,如下图所示,单步调试发现无法加载模型,请问为什么呢?

可以了,原来我没有设置VIM3的生成方式,还有一个问题是:
自己设计的算法,有自己的数据处理方式,是不是需要先将模型转换成npu格式,再将自己数据处理的代码加在生成的代码里?

@kaizekeji 是的,你如果需要使用NPU,就是必须通过这种方式转换完才能使用

谢谢,请问下有没有直接实现openpose或者alphapose的代码或者demo呢?

@kaizekeji

我们有openpose demo, 你可以试试看

好的,我看了一下是python实现的,请问下有c++实现吗?

@kaizekeji 没有,但是模型本身是一样的。python的和c++的都是用的同一个转换工具转换出来的

@Frank 我测试了openpose的python版本,为何精度很差呢?是因为模型量化的结果吗?很多特征点识别不到。请问有什么好的办法呢?

@kaizekeji 你可以尝试优化模型,转换以后这个模型精度下降有点多。我后面尝试使用其他的pose模型

@Frank 原来如此,那是否可以不使用模型量化,直接使用float32类型进行算法评估呢?

@kaizekeji NPU效果最好的还是使用init,不建议直接使用float

@Frank 你好,麻烦再请问一下,pytorch模型转换至npu,需要将pytorch模型用jit.trace转出来吗?还是说直接读取pytorch保存的state_dict模型?

@kaizekeji 需要,而且要保存成pt文件

@Frank 你好,请问下如何加速以下两行代码:
status = vsi_nn_Float32ToDtype(b, &data[i], &tensor->attr.dtype);
status = vsi_nn_DtypeToFloat32(&tensor_data[stride * i], &buffer[i], &tensor->attr.dtype);
将float32数据转换为uint类型和将uint数据转换为float32类型时,运行特别耗时,比forward还要耗时,请问下如何提速呢?我试过:
vsi_nn_DtypeConvertRawDataToFloat32(tensor_data, sz, &tensor->attr.dtype, buffer, sz);
但是耗时是一样的,并没有提速。

@kaizekeji 这里没有好的方法来处理。这里只能去优化你的模型了。或者跳开这一步,自己设计转换数据的函数,然后直接送入

@Frank 好的,再请问下函数“vsi_nn_Float32ToDtype”和"vsi_nn_DtypeToFloat32"的实现逻辑是什么?我无法找到函数的实现源码。

@kaizekeji 这两个函数是不开源的。实际上自己实现难度是很大的。首先你许要确认自己的DTYPE是什么,这个函数就是将flaot32转换成你需要的DTYPE类型

@Frank 是的,就是如何将uint8_t类型转换成float32类型,或者如何将float32类型转换为uint8_t类型。我该如何实现呢?

@kaizekeji 怎么实现这个应该你自己去实现,我没办法帮你实现这个问题。比起解决这个函数,优化你的网络模型也许是更好的办法

@Frank 请问下A311D的npu支持int16的量化吗?