首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在SNPE (dlc)中调整输入形状的大小?

有没有办法在SNPE (dlc)中调整输入形状的大小?
EN

Stack Overflow用户
提问于 2020-05-04 16:40:11
回答 1查看 271关注 0票数 1

我已经基于Tensorflow训练了一个模型。这个模型应该可以在手机上工作,但在将冻结图(pb)转换为深度学习容器(Dlc)时,我遇到了一个问题。我必须将输入大小设置为常量。这导致该模型不能在任何输入大小下工作。我正在尝试找到一种方法来调整DLC模型的输入形状的大小,而不使用"snpe-tensorflow- to -dlc -- input _dims 1,512,512,3“初始化模型,因为这种方法很消耗资源。实际上,我想在dlc模型中调整输入形状的大小。有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-09 05:36:38

通常,部署解决方案使用固定的输入形状,因为它们假设了一些广泛认可的使用模型-调整所有相同大小的图片的大小,并进行推断。由于这种使用模型,部署解决方案的开发人员不会优先考虑模型加载时间,而通常会优先考虑推理时间。同样的事情也发生在SNPE,OpenVINO,TFLite等等。

为了说明这一点,这里是Snapdrag820的一些结果。将初始v3加载到CPU需要715ms,将模型加载到DSP需要3秒。在CPU上推理需要1秒,在DSP上推理需要100毫秒。您可以看到,在DSP上的加载时间比在CPU上的加载时间要长,但是推理时间要好得多。

同时,通常允许在加载模型之前更改形状,假设所有输入图片的大小都与模型训练的形状不同(但同样,对于所有图片都是相同的)。对于SNPE,如果模型允许重塑,则为SNPEBuilder::setInputDimensions,如果SNPE实现中没有bug,则可以重塑和加载模型。

不确定您的使用模型是否符合第一段中描述的愿景。同时,为了从不同的输入大小中获益,您需要开发SNPE不太可能支持的特殊拓扑。如果您只使用常规的SSD,并在验证集上将其重塑为不同的大小和测量精度,则最有可能在训练模型的shpaes上获得最佳结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61588211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档