#1HelloAI回复用你的代码,简单修改了部分代码后验证,并未发现结果错误的问题,修改的部分如下:1、modelscommon.py添加from utils.activations import SiLU然后替换33行的nn.SiLU()为SiLU():self.act = SiLU() if act is True else (act if isinstance(act, nn.Module) else nn.Identity())2、utilstorch_utils.py添加:from utils.activations import Hardswishfrom utils.activations import SiLU然后替换133行的nn.Hardswish为Hardswish:elif t in [Hardswish, nn.LeakyReLU, nn.ReLU, nn.ReLU6, SiLU]:3、detect.py的代码,去掉了所有half的配置,包括:61行,66、67行、112行、115行、128行4、然后去掉134行box_result = get_boxes(pred)的注释,然后print(box_result)的结果即为正确结果5、另外,量化的过程是在CPU运行了推理过程,所以推理结果依赖后处理nms,而MLU推理时,后处理已经替换为torch.ops.torch_mlu.yolov5_detection_output了,已经包含了后处理,不再需要nms了,这一定您的代码中已经体现出来了。您可再按照上述方法试下,谢谢。
展开