使用混合精度(AMP)训练会有精度下降

使用如下图所示方式利用AMP进行训练时,发现和全精度训练的模型存在较大的精度差异,模型中主要包含Conv,BN,Reshape,Interpolate,Sigmoid,ReLU这几种算子。

可以试试在model里你怀疑会损失精度的地方加上 amp.enabled = False 并把输入手动转成 FP32 看看。

另外 sigmoid 具体是怎么用的?最终掉点掉了多少呢

sigmoid主要是用来生成权重矩阵,掉了两个点左右