开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

卡证检测矫正模型支持 onnx 模型导出吗?

我尝试用下面的代码导出卡证检测矫正模型的 onnx 模型

from modelscope.models import Model from modelscope.exporters import Exporter model_id = 'damo/cv_resnet_carddetection_scrfd34gkps' model = Model.from_pretrained(model_id) output_files = Exporter.from_model(model).export_onnx(opset=13, output_dir='.') print(output_files)

但是报了下面的错 modelscope/exporters/base.py", line 56, in from_model f'is not supported currently.') from e KeyError: "The exporting of model 'scrfd' with task: 'card-detection' is not supported currently."

展开
收起
游客vay6ybr4s3lcm 2023-05-15 20:08:20 515 0
19 条回答
写回答
取消 提交回答
  • https://github.com/hpc203

    把configuration.json里面的
    "task": "card-detection"
    改成
    "task": "face-detection"

    2023-08-10 15:43:00
    赞同 1 展开评论 打赏
  • 您好,卡证检测模型可以参考SCRFD人脸检测模型的ONNX导出方式:https://github.com/modelscope/modelscope/blob/master/tests/export/test_export_face_detection_scrfd.py

    2023-07-14 14:40:25
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    根据您提供的错误信息来看,卡证检测矫正模型的 onnx 模型导出目前不受支持。错误信息中提到了 "The exporting of model 'scrfd' with task: 'card-detection' is not supported currently.",这表明该模型的导出功能目前不可用。

    您可以尝试使用其他方式来导出模型,例如使用 TensorFlow 或 PyTorch 等框架来导出模型。

    2023-06-26 08:10:12
    赞同 展开评论 打赏
  • 根据错误信息,可以看出是因为导出的模型任务为"card-detection",而不是"card-detection-rectify",因此该模型的导出不支持。如果您需要导出"card-detection-rectify"任务的ONNX模型,请使用以下代码:

    from modelscope.models import Model from modelscope.exporters import Exporter model_id = 'damo/cv_resnet_carddetection_rectify_scrfd34gkps' model = Model.from_pretrained(model_id) output_files = Exporter.from_model(model).export_onnx(opset=13, output_dir='.') print(output_files)
    
    

    请注意,此代码中的模型 ID 已更改为"damo/cv_resnet_carddetection_rectify_scrfd34gkps",并且任务为"card-detection-rectify"。

    2023-06-21 14:51:44
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    你好,根据错误提示The exporting of model 'scrfd' with task: 'card-detection' is not supported currently.来看的话当前模型应是不支持使用ModelScope提供的ONNX转换工具进行模型导出。

    2023-06-20 16:04:14
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    卡证检测矫正模型是否支持ONNX模型导出,需要查看该模型的开发者或者文档。如果该模型支持ONNX型导出,您可以使用ONNX Runtime或其他支持ONNX格式的推理引擎来加载和运行该模型。如果该模型不支ONNX模型导出,您可以尝试使用其他格式的模型,例如TensorFlow或PyTorch,或者联系模型的开发者来获取更多信息。

    2023-06-16 23:15:55
    赞同 展开评论 打赏
  • 不断追求着最新的技术和趋势,在云技术的世界里,我不断寻找着新的机会和挑战,不断挑战自己的认知和能力。

    这个错误提示表明当前模型 scrfd 和任务 card-detection 的导出不支持。在你运行代码之前,ModelScope 版本应该是 1.10.0 或更高版本,因为在之前版本的 ModelScope 中不支持模型和任务的导出。

    要解决这个问题,你可以使用 ModelScope 的最新版本,或者将模型和任务的版本更新到支持的版本。如果你不想更新模型和任务的版本,你可以尝试使用 ModelScope 的旧版本,或者使用其他模型和任务的版本。

    2023-06-15 14:35:10
    赞同 展开评论 打赏
  • 一般来说,如果该模型支持导出为 ONNX 格式,那么你就可以使用 ONNX Runtime 或其他 ONNX 支持的平台来部署和推理该模型。

    如果你不确定你使用的卡证检测矫正模型是否支持导出为 ONNX 格式,可以去该模型对应的官方文档或代码库中查看其是否支持 ONNX 导出,并查看其导出方式和所支持的 ONNX Runtime 版本。

    2023-06-14 10:57:58
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    这个错误是因为您试图将一个尚未支持导出的模型导出到 ONNX 格式。请注意,在 ModelScope 上发布的模型不是完全导出的,它们可能还需要进一步的调整和调优。 要解决这个问题,您可以先在模型上执行 torch.backends.cudnn.enabled = True,这将允许使用 CUDA 加速的卷积操作。然后,尝试重新导出模型,看看是否能够成功导出 ONNX 格式。 例如,以下是修改后的代码:

    import torch import torch.nn as nn from modelscope.models import Model, exporter from modelscope.exporters import Exporter

    model = Model.from_pretrained(model_id) model = model.to(device) output_files = Exporter.from_model(model).export_onnx(opset=13, output_dir='.') print(output_files) 这将导出到当前目录中,并且支持 task: 'card-detection' 的导出。

    2023-06-14 09:17:21
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据你提供的错误信息,可以看出该模型不支持导出为ONNX格式。这可能是由于该模型中使用了一些不支持导出为ONNX格式的操作或模块,导致无法成功导出为ONNX模型。

    针对这个问题,你可以尝试以下几个解决方法:

    尝试使用其他的导出方式。如果该模型不支持导出为ONNX格式,你可以尝试使用其他的导出方式,比如TorchScript或TensorRT等。

    重新训练或修改模型。如果你非常需要将该模型导出为ONNX格式,你可以尝试重新训练或修改该模型,使其不再使用不支持导出为ONNX格式的操作或模块。

    联系该模型的开发者或ModelScope的技术支持,以获取更多帮助。他们可能会提供其他的解决方法或建议。

    希望以上方法能够帮助你解决问题。

    2023-06-13 19:29:44
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,报错信息表明,当前版本的ModelScope不支持导出scrfd34gkps卡证检测矫正模型为ONNX格式。这是因为在ModelScope中,ONNX格式的导出是基于模型的任务类型和架构类型的。目前,ModelScope支持的ONNX导出任务类型包括图像分类、目标检测和语义分割,而不支持卡证检测矫正任务类型。

    如果您需要将卡证检测矫正模型导出为ONNX格式,可以考虑使用其他工具或库,例如ONNX Runtime或PyTorch。您也可以尝试将该模型转换为图像分类、目标检测或语义分割模型,并使用ModelScope导出为ONNX格式。请注意,转换模型可能会影响模型的性能和准确性,因此请谨慎操作。

    2023-06-13 08:15:58
    赞同 展开评论 打赏
  • 根据您提供的信息,ModelScope当前不支持将 "scrfd" 模型用于卡证检测矫正任务的导出到ONNX格式。该错误是由于ModelScope中的导出功能限制而引起的。

    导出模型到ONNX格式通常需要确保模型结构和操作在ONNX规范的支持范围内。由于"scrfd" 模型的结构或任务特定操作的限制,导出到ONNX格式可能会受到限制。

    您可以尝试使用其他方法将模型导出为ONNX格式。例如,如果您使用的是PyTorch作为模型训练框架,您可以使用PyTorch提供的内置功能来导出模型。以下是一个示例代码片段,展示了如何使用PyTorch导出模型到ONNX格式: import torch

    加载并加载训练好的模型

    model = torch.load('path_to_saved_model.pth')

    设置模型为评估模式

    model.eval()

    创建一个示例输入张量

    example_input = torch.randn(1, 3, 224, 224)

    导出模型到ONNX格式

    torch.onnx.export(model, example_input, 'path_to_output_model.onnx')

    上述代码片段中,您需要将 'path_to_saved_model.pth' 替换为您保存的模型文件路径,并将 'path_to_output_model.onnx' 替换为您希望保存ONNX模型的路径。请确保在导出之前将模型设置为评估模式(model.eval()),并提供一个示例输入张量(example_input)以便确定输入和输出张量的形状。

    请注意,由于我无法获取到具体的模型和数据集,上述代码片段仅为示例,您需要根据您的具体情况进行相应的调整。

    如果您在使用ModelScope的过程中遇到任何问题或需要更详细的指导,请参考ModelScope的官方文档或联系其支持团队。

    2023-06-12 12:15:00
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    可以看到当前的卡证检测矫正模型不支持 ONNX 模型导出。这可能是因为该模型不支持 ONNX 格式,或者是因为 ModelScope 目前还没有实现该模型的 ONNX 导出功能。

    如果您需要将该模型导出为 ONNX 格式,可以尝试使用其他的工具或者框架,例如 PyTorch 或者 TensorFlow 等,这些框架支持将模型导出为 ONNX 格式,并且提供了相关的工具和接口。您可以根据自己的需求和实际情况选择合适的工具和框架。

    另外,如果您有特定的需求或者建议,可以提交到 ModelScope 的 GitHub 仓库中,以便我们将其纳入后续的开发计划中。ONNX(Open Neural Network Exchange)是一个开放的深度学习模型交换格式,旨在使不同的深度学习框架之间的模型转换更加容易和高效。ONNX 可以将深度学习模型从一个框架转换到另一个框架,而无需重新实现模型或者重新训练模型。

    ONNX 支持多种深度学习框架,包括 PyTorch、TensorFlow、Caffe2、MXNet 等,可以将这些框架中的模型转换为 ONNX 格式,然后在其他框架中加载和使用。这样,用户可以使用自己熟悉的框架进行模型训练和推理,同时又可以享受其他框架的优势,如 TensorFlow 的分布式训练能力和 PyTorch 的动态图机制。

    ONNX 的设计思路是将模型表示为计算图形式,其中节点表示计算操作,边表示数据流。这种图形式的表示方式可以保留模型的结构和参数,同时还能提高模型的可移植性和兼容性。

    2023-06-11 21:51:30
    赞同 展开评论 打赏
  • 根据报错信息,当前不支持使用 modelscope 导出卡证检测矫正模型的 onnx 模型。可能需要等待更新或尝试其他工具或方法导出。

    这并不意味着所有模型都不支持ONNX导出,因为ONNX支持的操作和结构很多,大多数模型都可以成功导出。如果您需要使用ONNX格式的模型,可以尝试使用其他支持ONNX导出的模型,或者使用其他深度学习框架来导出ONNX模型。

    2023-06-11 07:42:05
    赞同 展开评论 打赏
  • 热爱开发

    根据您提供的错误信息,似乎在运行模型导出代码时出现了错误。这是因为当前版本的ModelScope库不支持将"scrfd"模型用于卡证检测矫正任务的ONNX导出。

    如果您想导出卡证检测矫正任务的ONNX模型,建议您尝试使用其他模型或者框架,并查找相关的导出工具和文档。例如,您可以使用PyTorch、TensorFlow等框架来训练和导出卡证检测矫正模型,并参考官方文档和社区支持论坛,以获取更多关于如何使用这些框架导出ONNX模型的指导和示例代码。

    另外,也可以向ModelScope开发人员反馈此问题,以便他们进一步改进和优化该库,并支持更多类型的模型和任务进行ONNX导出。

    希望这些信息对您有所帮助!

    2023-06-10 09:25:35
    赞同 展开评论 打赏
  • 根据您提供的信息,目前 ModelScope 不支持将卡证检测矫正模型导出为 ONNX 格式。根据报错提示,当前版本的 ModelScope 不支持导出该模型类型和任务类型的 ONNX 模型。

    虽然 ONNX 是一个流行的深度学习模型格式,但并不是所有类型的模型都能够直接导出为 ONNX。某些模型类型可能需要进行特定的转换或兼容性调整,才能被导出为 ONNX。

    如果您需要将卡证检测矫正模型导出为 ONNX,可以考虑使用其他工具或方法来进行转换。例如,可以使用 PyTorch 或 TensorFlow 等框架中提供的 ONNX 转换工具,将模型从 PyTorch 或 TensorFlow 格式转换为 ONNX 格式。

    另外,也可以考虑将模型保存为其他格式,如 TensorFlow、PyTorch 或 MXNet 等格式,并在需要使用时再进行转换。这样也可以避免一些兼容性问题和限制。

    2023-06-09 22:05:35
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据报错信息,卡证检测矫正模型的 ONNX 模型导出当前不受支持。导致这个问题的原因是该模型在 ModelScope 中的实现方式可能与 ONNX 规范存在一些差异或限制,因此无法直接导出为 ONNX 模型。

    如果您需要将该模型导出为 ONNX 模型,并集成到其他框架或项目中使用,建议您再进一步探索相关方法和工具。以下是一些可能有用的参考资源:

    1. PyTorch 官方文档:PyTorch 可以与 ONNX 相互转换,使得您可以在 PyTorch 中设计、训练和调试模型,并将其导出为 ONNX 格式,以便在其他支持 ONNX 的框架中运行。您可以参考 PyTorch 的官方文档,了解如何使用 PyTorch 和 ONNX 进行模型转换。

    2. ONNX 官方文档:ONNX 是一个开放标准的深度学习模型交换格式,支持多种框架和硬件平台。您可以参考 ONNX 的官方文档,了解如何使用 ONNX 进行模型转换和部署。

    3. TensorFlow 官方文档:TensorFlow 支持使用 SavedModel 和 TF.js 等格式导出模型,并提供了转换器以支持其他格式的模型。您可以参考 TensorFlow 的官方文档,了解如何使用 TensorFlow 进行模型转换和部署。

    2023-06-09 22:04:33
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    根据您提供的代码和错误信息,似乎卡证检测矫正模型不支持使用modelscope中的exporters导出为ONNX格式。这可能是由于该模型不支持ONNX导出,或者是由于modelscope库中缺少对该特定模型的ONNX导出支持。

    您可以尝试使用其他工具或库来导出模型为ONNX格式。例如,torch.onnx.export()函数可以将PyTorch模型导出为ONNX格式,因此如果您已经有了PyTorch版本的该模型,您可以尝试使用此函数进行导出。但是,请注意,不是所有模型都能够无损地转换为ONNX格式,因此可能需要进行一些调整和优化才能成功导出。

    2023-06-09 18:09:22
    赞同 展开评论 打赏
  • 根据你提供的错误信息,看起来卡证检测矫正模型不支持 onnx 模型导出。你可以尝试使用其他导出格式,比如 TensorFlow SavedModel 或者 PyTorch JIT Script。以下是使用 TensorFlow SavedModel 导出模型的示例代码:

    from modelscope.models import Model
    from modelscope.exporters import Exporter
    
    model_id = 'damo/cv_resnet_carddetection_scrfd34gkps'
    model = Model.from_pretrained(model_id)
    
    output_files = Exporter.from_model(model).export_savedmodel(output_dir='.', signature_def_key='serving_default')
    print(output_files)
    

    这将会把模型导出为 TensorFlow SavedModel 格式,并保存在当前目录下。你可以使用 TensorFlow Serving 或者 TensorFlow Lite 运行这个模型。

    2023-06-09 16:47:25
    赞同 展开评论 打赏
滑动查看更多

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载