2

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

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

训练模型是成功的(201),但是在检查自定义模型状态之后我们得到了这个错误

{  "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 一切正常。

怎么能走得更远?

谢谢!

嘉宝

4

5 回答 5

0

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

于 2020-02-06T21:36:59.560 回答
0

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

这就是我所做的。

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

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

于 2020-02-15T09:47:47.833 回答
0

问题已解决。

这绝对不是服务问题。

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

于 2020-02-17T15:27:37.190 回答
0

@妮妮,

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

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

我使用 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."
    }]
  }
}

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

于 2020-02-13T12:18:50.823 回答
0

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

于 2020-02-15T01:13:12.873 回答