【问题标题】:Azure form recognizer - model versioningAzure 表单识别器 - 模型版本控制
【发布时间】:2020-08-05 10:33:35
【问题描述】:

关于表单识别器 (FR) 模型管理的几个问题:

背景: 我正在使用 FR Labeling 工具来训练模型和 C# Function 应用程序以与 FA 服务交互并分析表单。

  1. 每次训练模型时,都会创建一个新实例。新版本不包含对以前版本的任何引用,并且无法在代码中按名称选择模型。可以使用 TrainingCompletedOn 属性查询最新模型,但它不是防故障的,如果 FR 有多个项目,则不能使用。问题:如果正在进行持续开发并不断改进模型 - 是否有方法(或最佳实践)来管理必须针对哪个模型。
  2. 关于第一个 Q - 因为 FR 总是创建一个新模型 - 它最终会得到一个很大的仍然处于活动状态的未使用模型列表。并且由于它们之间没有联系 - 没有安全的方法来执行清理。可以使用 API 删除旧模型,但这是一个手动过程。关于如何管理旧模型版本的任何建议?
  3. 可以将模型导出添加到版本控制并从版本控制部署到其他环境吗?有一个 API 端点可以在 FR 实例之间复制模型,但我希望将其保留在版本控制中并从那里部署到环境中。
  4. 关于 Q3 - 在 DevOps 中管理 FR 项目的推荐做法是什么?如何跨不同环境对工作进行版本控制和部署?

谢谢

【问题讨论】:

    标签: microsoft-cognitive form-recognizer


    【解决方案1】:
    1. 每个模型都是独一无二且独立的。它是不可变的,您需要根据您的测试数据集选择精度最高的模型。
    2. 您可以调用DELETE api删除模型。
    3. 目前没有这种支持。由于每个模型在创建后无法更改,因此我认为模型的版本控制没有太大价值。
    4. 请参阅#1,您可以使用测试数据集来衡量模型性能。如果模型在一个测试文件上表现不佳,您可以标记该测试文件并将其添加到训练集中,然后训练一个新的(更好的)模型。

    -xin(MS 表单识别器团队)

    【讨论】:

    • 1, 2:模型是不可变的,但确实(或可以)有逻辑分组。至少在使用标签工具时,您首先创建一个项目(和一个存储帐户容器),因此在该项目中创建的所有模型都应该具有某种逻辑连接。但是,如果您训练一个新模型,以前的模型会“丢失”,并且只能使用 API 并且如果您有模型 ID 进行管理。如果您在一个 FR 实例中有多个项目 - 无法确定属于哪个项目模型,哪个是最新/正在使用的,哪些可以删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2020-10-03
    • 2021-03-17
    • 1970-01-01
    • 2014-05-13
    • 2021-06-04
    • 1970-01-01
    相关资源
    最近更新 更多