|
感谢版主这两天的回复,量化终于跑通了,但是效果真的很差。不使用量化的结果和pytorch版效果一样,使用uint8量化时,结果值能检测到一个框(一共十几个框)。数据集是预先按照CenterNet中预处理方式对图片进行resize得到的图片,dataset为5000张图,batchsize=100,epochs=50。
个人猜想精度损失很大有以下原因:
(1)归一化方式:CenterNet预处理中对图片三个通道分别进行归一化(均值方差均不同,均值[0.408, 0.447, 0.470],方差[0.289, 0.274, 0.278]),而转换RKNN模型时,由于归一化参数中方差只有一位,所以我设置的是方差三个的平均值。但我觉得这一点影响不大,因为三个方差差不太多。
(2)后处理:CenterNet输出的是物体中心点的热力图,后处理要使用Maxpooling找到峰值,即9个点中的最大值。量化之后热力图上原本很多比较接近的点数值都变成一样的数,就找不到最大值的点了。
(3)这个警告的影响?
- W Adjust min from [-5.106467] to [0.] for relu relu8_39
- W Adjust min from [-5.106467] to [0.] for relu relu13_67
- W Adjust min from [-5.106467] to [0.] for relu relu15_76
- W Adjust min from [-5.106467] to [0.] for relu relu17_85
- W Adjust min from [-4.101224] to [0.] for relu relu18_90
- W Adjust min from [-2.5565655] to [0.] for relu relu43_218
- W Adjust min from [-4.101224] to [0.] for relu relu23_118
- W Adjust min from [-4.101224] to [0.] for relu relu25_127
- W Adjust min from [-4.101224] to [0.] for relu relu27_136
- W Adjust min from [-3.4539304] to [0.] for relu relu28_141
- W Adjust min from [-24.208406] to [0.] for relu relu38_193
- W Adjust min from [-1.8253068] to [0.] for relu relu44_223
请问我该怎样混合量化?
|
|