ModelArts学习笔记| 模型保存和转换

目录

1.保存模型为 onnx 格式

2.保存模型到 obs 桶里面

3.将 onnx 格式的模型转换为 om 格式


1.保存模型为 onnx 格式

# 创建文件夹,将模型保存至此文件夹下
if not os.path.exists('./flowers/'):os.mkdir('./flowers/')# 加载ckpt模型,注意如果此行报错,可将cfg.directory,后的代码改为已存在的ckpt文件,例如'resnet-ai_2-150_113.ckpt'
param_dict = load_checkpoint(os.path.join(cfg.directory,cfg.prefix+'-'+str(cfg.epoch_size)+'_'+str(train_step_size)+'.ckpt'))#设置训练网络,加载模型参数到训练网络内,这里以Resnet50为例
# 设置ResNet50网络
resnet=resnet50(class_num=cfg.num_class)# 加载模型参数到ResNet50网络内
load_param_into_net(resnet, param_dict)# 这里 x 用来指定导出模型的输入shape以及数据类型
x = np.random.uniform(-1.0, 1.0, size = [1, 3, cfg.HEIGHT, cfg.WIDTH]).astype(np.float32)  # 导出ONNX模型,设置网络,网络的输入,模型名称,保存格式
export(resnet, Tensor(x), file_name = './flowers/best_model.onnx', file_format = 'ONNX')

2.保存模型到 obs 桶里面

在下方链接处创建 OBS 桶,区域选择华北-北京四,自定义桶名称

https://console.huaweicloud.com/console/?region=cn-north-4#/obs/create

OBS 桶创建完成之后,在 ModelArts 的 Notebook 运行以下代码,将 onnx 模型保存至自己
创建的 OBS 桶内。可以通过如下链接查看模型是否保存成功: 

 https://console.huaweicloud.com/console/?region=cn-north-4#/obs/manager/buckets

# 在华为云OBS创建自己的桶,将ONNX模型保存到自己的桶内
import moxing
# 同步ONNX模型至自己的桶内,设置拷出目录,以及拷入目录(其中ascblk需要修改成自己的桶名称)
moxing.file.copy_parallel(src_url='./flowers/best_model.onnx', dst_url='obs://ascblk/flower/onnx/best_model.onnx')

配置文件 insert_op_conf.cfg 和 customize_service.py 的下载链接:
https://zhuanyejianshe.obs.cn-north-4.myhuaweicloud.com/chuangxinshijianke/cv-nlp/flower_recognition.zip

将 insert_op_conf.cfg 文件上传到 obs 桶内 onnx 模型目录下

3.将 onnx 格式的模型转换为 om 格式

进入 ModelArts 控制台,点击 AI 应用管理>模型转换>创建任务

  • 输入框架选择 TensorFlow;
  • 转换输入目录是 OBS 桶内 onnx 的文件目录;
  • 出框架选择 MindSpore;
  • 转换输出目录为 OBS 桶内空白目录,如新建 om 文件夹,用于存放转换好的 om模型;
  • 转换模板选择 Onnx-To-Ascend-TBE;
  • 输入数据格式选择 NCHW

 点击立即创建,等待几分钟,运行成功,可查看 obs 输出目录下是否有生成的.om 文件


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部