【问题标题】:Form Recognizer invalid model status [closed]表单识别器无效模型状态[关闭]
【发布时间】:2020-02-06 08:35:29
【问题描述】:

我们通过这些步骤 (API 2.0) 尝试了表单识别器自定义训练

https://pnagarjuna.wordpress.com/2020/01/07/azure-form-recognizer-service-custom-model-training-steps/

Training modell 是成功的 (201),但是在 Check Custom Model Status 之后我们得到了这个错误

{  "modelInfo": {    "modelId": "f17bd306-3c6a-4067-8ef1-5f2e6ced79e1",    "status": "invalid",    "createdDateTime": "2020-02-05T17:24:30Z",    "lastUpdatedDateTime": "2020-02-05T17:24:31Z"  },  "trainResult": {    "trainingDocuments": [],    "errors": [{      "code": "2014",      "message": "No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements."    }]  }}
We also check 

https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/overview#custom-model 一切都很好。

怎样才能走得更远?

谢谢!

加博

【问题讨论】:

    标签: form-recognizer


    【解决方案1】:

    您能否检查一下您的 post train 请求中的前缀值是否与您的 azure blob 容器中的路径一致?如果将示例文件放在 blob 容器的根路径下,则为前缀提供一个空字符串。由于训练和训练模型请求在表单识别器 v2.0 中是异步的,因此一些请求后参数相关的错误只能通过训练模型请求获取。

    【讨论】:

      【解决方案2】:

      @妮妮,

      你能提供一个前缀值的例子吗?

      我和作者一样面临同样的问题。

      我使用 2.0 API 版本。 我为整个容器生成了 SAS,我使用下一个请求来训练自定义模型

      {
        "source": "https://{resourcename}.blob.core.windows.net/{containername}?sp=rl&st=2020-02-13T11:19:53Z&se=2021-02-14T11:19:00Z&sv=2019-02-02&sr=c&sig={signature}",
        "sourceFilter": {
          "prefix": "/USMF/VendorInvoices/Vendor - 1001/",
          "includeSubFolders": false
        },
        "useLabelFile": false
      }
      

      目标文件夹 URI: https://{resourcename}.blob.core.windows.net/{container name}/USMF/VendorInvoices/Vendor - 1001/

      响应正文:

      {
        "modelInfo": {
          "modelId": "4e23f488-d8db-4c98-8018-4cd337d9a655",
          "status": "invalid",
          "createdDateTime": "2020-02-13T12:07:52Z",
          "lastUpdatedDateTime": "2020-02-13T12:07:52Z"
        },
        "keys": {
          "clusters": {}
        },
        "trainResult": {
          "trainingDocuments": [],
          "errors": [{
            "code": "2014",
            "message": "No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements."
          }]
        }
      }
      

      如果我将训练数据集保留在根目录下,因此前缀值为空字符串,那么一切正常。

      【讨论】:

        【解决方案3】:

        感谢您报告此事。 您是否有机会从策略定义的 SAS 令牌(带有 sig={signature} 的令牌)切换到具有显式权限的 sas 令牌? (一个带有 sp={permissionenum} 的)

        【讨论】:

          【解决方案4】:

          你能详细解释一下你的想法吗?

          这就是我所做的。

          我在未应用任何访问策略的情况下生成了 SAS 令牌。为整个容器生成 SAS。我刚刚从列表和到期日期中选择了读取、列出权限。

          我想知道如果我将训练数据集保存在根文件夹下,那么一切正常。但是当我将文件放在文件夹结构下时,表单识别器服务找不到这些文件。

          【讨论】:

            【解决方案5】:

            问题已解决。

            这绝对不是服务问题。

            首先,我的前缀不应该在开头包含“/”符号。 另一个重要的一点是前缀区分大小写。 在我的情况下,我上传了带有“USMF/VendorInvoices/Vendor - 1001/”前缀的文件,但请求使用“usmf/VendorInvoices/Vendor - 1001/”进行模型训练。因此,这导致了错误消息 - 在指定的 Azure blob 容器中找不到有效的 blob。请符合文件格式/大小/页数/尺寸要求。

            【讨论】:

              猜你喜欢
              • 2013-04-27
              • 1970-01-01
              • 1970-01-01
              • 2020-09-01
              • 1970-01-01
              • 1970-01-01
              • 2021-06-04
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多