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 文件

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别管我啦就是说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值