作业内容:训练一个ResNet50网络。使用训练好的checkpoint文件,导出MindIR格式模型。
参考网页:https://www.mindspore.cn/tutorial/training/zh-CN/r1.1/use/save_model.html
拿出上次毒蘑菇作业( https://bbs.huaweicloud.com/blogs/208652 《MindSpore21天实战营(3)使用MindSpore实现Resnet50毒蘑菇识别》 )中训练好的checkpoint吧。。
张小白不想努力了!
拿来:
将上次运行了9个小时生成的ckpt拷贝到 E:\gitee\mindspore\model_zoo\official\cv\resnet 目录
跟作业一一样,做一个生成mindir的python脚本 create_resnet50_mindir.py
import numpy as np from mindspore import Tensor,export, load_checkpoint,load_param_into_net from src.resnet import resnet50 resnet = resnet50() load_checkpoint("resnet-90_18810.ckpt", net=resnet) input = np.random.uniform(0.0,1.0, size=[32,3,224,224]).astype(np.float32) export(resnet, Tensor(input), file_name='resnet-90_18810',file_format='MINDIR')
python create_resnet50_mindir.py 执行这个py
报错了。
经过王辉老师的提示,去检查src/config.py 缺省分类个数 class_num =10
试着如何解决
直接将config.py的第22行class_num:10改为9
在 create_resnet50_mindir.py resnet50()中增加参数class_num=9
试了下第一种方法,
好像并不行。
再试下第二种方法:
import numpy as np from mindspore import Tensor,export, load_checkpoint,load_param_into_net from src.resnet import resnet50 resnet = resnet50(class_num=9) load_checkpoint("resnet-90_18810.ckpt", net=resnet) input = np.random.uniform(0.0,1.0, size=[32,3,224,224]).astype(np.float32) export(resnet, Tensor(input), file_name='resnet-90_18810',file_format='MINDIR')
python create_resnet50_mindir.py 重新执行这个py
可见resnet-90-18810.mindir这个对应的MINDIR文件已成功生成。
速度也非常快。