CRNN模型验证码识别之模型转换和验证

举报
yd_297663915 发表于 2025/01/21 15:01:08 2025/01/21
【摘要】 模型转换第一步,pytorch到onnx的转换1.1 复制test.py 文件,修改文件名为pth_to_onnx.py1.2 删除92行-112行代码,在92行插入以下代码torch.onnx.export(model,torch.randn(1, 1, 32, 128),‘captcha.onnx’)1.3 删除def recognition 节点下所有代码(37行-75行)1.4 运行...
  1. 模型转换第一步,pytorch到onnx的转换

    1.1 复制test.py 文件,修改文件名为pth_to_onnx.py
    1.2 删除92行-112行代码,在92行插入以下代码
    torch.onnx.export(
    model,
    torch.randn(1, 1, 32, 128),
    ‘captcha.onnx’
    )
    1.3 删除def recognition 节点下所有代码(37行-75行)

    1.4 运行pth_to_onnx文件,注意修改文件路径和checkpoint文件名

    !python pth_to_onnx.py --cfg config.yaml --checkpoint /home/ma-user/work/checkpoint_51_acc_0.9411.pth --image_folder test_images

  2. 模型转换第二步,onnx到mindir的转换

    2.1 转换为mindir文件

    !converter_lite --modelFile=‘captcha.onnx’ --fmk=ONNX --outputFile=‘captcha’ --saveType=MINDIR --inputShape=“input.1:1, 1, 32, 128” --device=Ascend

  3. 修改验证脚本
    3.1 复制验证脚本到test_mindir.py
    3.2 第83到90行注释,第91行添加代码:
    context = mslite.Context()
    context.target = [‘ascend’]
    context.ascend.device_id = 0

    model = mslite.Model()
    model.build_from_file(‘captcha.mindir’,mslite.ModelType.MINDIR,context)
    3.3 第59到63行代码注释,第67行加入代码:
    inputs = model.get_inputs()
    inputs[0].inputs.set_data_from numpy(img)

    preds = model.predict(inputs)
    preds = pred[0]
    preds = torch.from_numpy(preds.get_data_to_numpy())
    3.4 在17行插入如下代码
    import mindspore_lite as mslite
    3.5 运行test_mindir.py
    python test_mindir.py --cfg config.yaml --image-forlder /images --checkpoint /path/to/checkpoint

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。