Page 119 - 《软件学报》2026年第2期
P. 119
598 软件学报 2026 年第 37 卷第 2 期
在将随机种子设置为相同值之后, 随机生成相同的张量元组并输入模型, 3 种框架间互相迁移的 MAE 和 MSE 分
别如表 11 所示. 由于将源框架下的模型代码迁移到目标框架下再进行回译的过程中会遇到某些算子的参数不是
完全一一对应的关系, 例如 PyTorch 与 PaddlePaddle 框架下的模型代码在互相迁移的过程中会存在参数用法不一
致、参数缺失等问题, PyTorch 的若干算子拥有的 inplace 参数在 PaddlePaddle 对应的算子下却没有相应的映射参
数, 因此可能会对输出结果存在影响, PaddlePaddle 官网也提到这一差异可能会对网络训练结果产生影响, 所以会
导致输出张量与输入张量不一致的差异.
同时, 本文将迁移程序分别与 MindConverter 以及 PaConvert 工具在上述数据集中进行对比, 对比结果如表 12
所示. 可以看到, 在将 PyTorch 框架下的模型代码迁移至 PaddlePaddle 框架下的评价指标下, 本文方法的 MAE 略
高于 PaConvert, 但是 MSE 值低于 PaConvert; 在将 PyTorch 框架下的模型代码迁移至 MindSpore 框架下的评价指
标下, 本文方法的 MAE 和 MSE 值均低于 MindConverter. 此外, MindConverter 工具只能将 PyTorch 框架下的模型
设计代码单向迁移至 MindSpore 框架下, 而既不支持反向迁移, 也不支持与 PaddlePaddle 之间的互相迁移;
PaConvert 同样只能将 PyTorch 框架下的模型代码单向迁移至 PaddlePaddle 框架下, 而既不支持反向迁移, 也不支
持与 MindConverter 之间的互相迁移, 无法形成互联互通的良好态势. 最后, 本文针对单语语料库以及并行语料库
的结果进行了区分, 结果如表 13 所示, 可以看到在单语语料库上, 由于在同一框架下模型的一致性较高, 所以结果
的 MAE 和 MSE 值均相对较小.
表 11 模型功能测试结果 表 12 模型功能测试的对比结果
目标框架 框架
源框架 方法
PyTorch PaddlePaddle MindSpore PyTorch→PaddlePaddle PyTorch→MindSpore
MAE: 0.152 MAE: 0.143 MAE: 0.149
PyTorch - MindConverter 不支持
MSE: 0.085 MSE: 0.079 MSE: 0.081
MAE: 0.182 MAE: 0.186 MAE: 0.096
PaddlePaddle - PaConvert 不支持
MSE: 0.144 MSE: 0.148 MSE: 0.091
MAE: 0.091 MAE: 0.095 MAE: 0.152 MAE: 0.143
MindSpore - 本文方法
MSE: 0.089 MSE: 0.093 MSE: 0.085 MSE: 0.079
表 13 模型功能测试在不同语料库上的对比结果
语料库 MAE MSE
并行语料库 0.185 0.137
单语语料库 0.143 0.082
综上, 通过模型功能测试的实验结果和对比结果, 我们发现本文的迁移程序达到了较低的 MAE 和 MSE, 并且
结果向量之间的总体差异较小, 验证了本文方法的功能正确性.
5.4 模型精度测试
更进一步的, 本文将对若干经典论文中提出的模型进行迁移, 并对迁移前后的神经网络模型代码进行深度学
习训练, 通过对比迁移前后模型在数据集上的精度差异来进一步验证转换的有效性. 其中, ResNet50 [10] 、Mobile-
NetV2 [11] 、DenseNet121 [12] 、ViT [13] 、ShuffleNet V2 [14] 、HarDNet [15] 、EfficientNet [16] 和 Gather-excite [17] 属于分类模
型, U-Net [18] 和 PSPNet_ResNet50 [19] 属于分割模型. 本文采用 CIFAR10 作为数据集, 该数据集由 60 000 张 32×32 彩
色图片组成, 总共有 10 个类别, 每类 6 000 张图片, 有 50 000 个训练样本和 10 000 个测试样本, 10 个类别包含飞机、
汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车.
表 14 列出了官方 PyTorch 版本的各模型代码和转换后得到的 PaddlePaddle 以及 MindSpore 版本的模型代码
在训练后进行测试的精度对比. 可以看到, 迁移前后的精度非常接近, 无较大差异. 因此, 可以验证在本文自动迁移
技术的转换下, 转换前的模型代码与转换后的模型代码在精度上无明显损失.

