在yolov3中,例如配置文件对应为:ai_toolchain/horizon_model_train_sample/scripts/configs/detection/yolov3/pascalvoc_mobilenetv1.py
网络定义了如下模块,为什么只有backbone中插入了量化、反量化节点,neck、head中也有conv等操作,却没有插入量化节点。
model = dict(-
type=“YOLOV3”,-
backbone=dict(-
type=“MobileNetV1”,-
alpha=1.0,-
bn_kwargs=bn_kwargs,-
num_classes=num_classes,-
include_top=False,-
),-
neck=dict(-
type=“YOLOV3Neck”,-
backbone_idx=[-1, -2, -3],-
in_channels_list=[1024, 512, 256],-
out_channels_list=[512, 256, 128],-
bn_kwargs=bn_kwargs,-
),-
head=dict(-
type=“YOLOV3Head”,-
feature_idx=[-3, -2, -1],-
in_channels_list=[1024, 512, 256],-
num_classes=num_classes,-
anchors=anchors,-
bn_kwargs=bn_kwargs,-
),-
loss=dict(-
type=“YOLOV3Loss”,-
num_classes=num_classes,-
anchors=anchors,-
strides=[8, 16, 32],-
ignore_thresh=0.5,-
loss_xy=dict(type=torch.nn.BCELoss, reduce=False),-
loss_wh=dict(type=torch.nn.L1Loss, reduce=False),-
loss_conf=dict(type=torch.nn.BCELoss, reduction=“sum”),-
loss_cls=dict(type=torch.nn.BCELoss, reduction=“sum”),-
lambda_loss=[2.0, 2.0, 1.0, 1.0],-
),-
postprocess=dict(-
type=“YOLOV3PostProcess”,-
anchors=anchors,-
strides=[8, 16, 32],-
num_classes=num_classes,-
score_thresh=0.01,-
nms_thresh=0.45,-
topK=200,-
),-
)