swin-t模型版端部署

1.芯片型号:J5

2.天工开物开发包OpenExplorer版本:J5_OE_v1.1.49b

3.问题定位:板端部署

4.问题具体描述

您好,我参考《【参考算法】地平线 Swin-T 参考算法-v1.1.0》文章及OE包中horizon_runtime_sample代码,尝试对swint分类模型进行板端部署,horizon_runtime_sample示例代码中是基于ptq量化的bin模型,我按照qat训练的swint进行对应修改,现在板端可以正常推理,但分类结果不正确,与pc端推理结果完全不一致。我的hbm模型完全按照Swin-T 参考算法-v1.1.0步骤获取,现在想请教一下:

1. 量化后上板的hbm模型内部有对输入图片的归一化操作吗?我看到pc端pth模型推理输入图片应该是被归一化到-1–1之间了,板端输入的图片是0–255。

2. hbm模型中最终输出各类别的值没有经过类似softmax的归一化操作吧,这部分若需要,需要自己后处理添加。

你好,对于问题1,hbm模型内部已经包括了归一化的操作,所以在准备板端NV12输入数据时的流程是:首先按照模型训练时的操作把图片进行resize、crop到224x224,然后再转成NV12,转成NV12的代码和一致性验证过程可以参考https://developer.horizon.ai/forumDetail/118364000835765839;问题2,hbm模型中最终输出各类别的值没有经过类似softmax的归一化操作,使用的是1x1 conv实现,如果您想使用softmax,可以自行在模型中添加,代码路径为hat/models/backbones/horizon_swin_transformer.py