使用 MindSpore 官方提供的 ResNet18 作为骨干网络,通过 mindspore.export 函数生成 mindir 格式文件成功。然后尝试通过 MindSpore Lite 的 converter 工具将其转换为 ms 格式文件,以用于移动端训练时报错。
系统:Windows 11 环境下的 WSL2 Ubuntu 系统,参考官方文档安装配置运行环境,Mindspore 及 Mindspore Lite 版本均为 2.0.0,python 版本 3.9。
导出 MINDIR 格式模型的代码为:
推理模型转换成功,但是转换训练模型失败,转换命令为:
日志输出为:
使用 MindSpore 官方提供的 ResNet18 作为骨干网络,通过 mindspore.export 函数生成 mindir 格式文件成功。然后尝试通过 MindSpore Lite 的 converter 工具将其转换为 ms 格式文件,以用于移动端训练时报错。
系统:Windows 11 环境下的 WSL2 Ubuntu 系统,参考官方文档安装配置运行环境,Mindspore 及 Mindspore Lite 版本均为 2.0.0,python 版本 3.9。
导出 MINDIR 格式模型的代码为:
import mindspore as ms import numpy as np from mindspore import Tensor, nn from mindvision.classification.models import resnet18 num_classes = 10 image_size = 224 learning_rate = 1e-3 def export_train_model(): model = resnet18(num_classes=num_classes, pretrained=False) loss_fn = nn.MSELoss() optimizer = nn.SGD(model.trainable_params(), learning_rate=learning_rate) # export trainable model model.set_train(True) example_input = Tensor(np.ones((1, 3, image_size, image_size), dtype=np.float32)) example_label = Tensor(np.ones((num_classes), dtype=np.float32)) loss_net = nn.WithLossCell(backbone=model, loss_fn=loss_fn) train_net = nn.TrainOneStepCell(network=loss_net, optimizer=optimizer) ms.export(train_net, example_input, example_label, file_format='MINDIR', file_name='model_train') print('导出推理模型完成') if __name__ == '__main__': export_train_model()推理模型转换成功,但是转换训练模型失败,转换命令为:
日志输出为: