我正在尝试使用文档https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/visual-recognition/customizing.shtml#goodclassifying后面的其余API的v3创建一个Watson Visual Recognition Create Classifier,其中声明:
培训呼叫和数据存在大小限制: 该服务最多接受10,000个图像或每个.zip文件100 MB 该服务要求每个.zip文件至少有10个图像。 该服务每次接受培训最多可接受256 MB。
然而,使用48MB包含594张图像的“正面”zip文件(图像的最大尺寸为144Kb)和包含218张图像的16MB的“负面”zip文件(图像的最大尺寸为114Kb)但我保留得到错误:
<html>
<head><title>413 Request Entity Too Large</title></head>
<body bgcolor="white">
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx</center>
</body>
</html>
回应:
curl -X POST -F "good_positive_examples=@positive.zip"
-F "negative_examples=@negative.zip"
-F "name=myclassifier"
-H "X-Watson-Learning-Opt-Out=true"
"https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classifiers?api_key=<mykey>&version=2016-05-20"
我一直在尝试通过删除拉链内的图片并重新尝试来减小文件大小,但我远低于规定的限制。
有人有任何想法吗?
由于
答案 0 :(得分:1)
在为培训分类器提交作业时,此(413实体太大)错误是间歇性的。我编写了一个脚本来处理图像的目录结构作为训练类,包括训练(51%)和测试(49%)。由于API将有效负载大小限制为每个ZIP文件100MB,因此我将ZIP类文件zipsplit(1)分批。提交这些批次时,我收到此错误,但丢弃并重试;在2-3次尝试之后,API调用成功。
我猜你的入站连接管理器正在计算字节数,包括通过套接字重新传输而不报告实际的有效负载大小。
我建议将ZIP拆分为<95 MB的大小,以避免在将图像提交到培训API时出现这种复杂情况。
该代码位于github.com上的dcmartin下的家庭年龄项目;训练脚本位于bin / train_vr中,测试脚本位于bin / test_vr中。您的里程可能会有所不同。
答案 1 :(得分:0)
我刚尝试了2个zip文件(每个约45 MB)并且可以正常工作。
我认为这是nginx
服务器中的临时问题。在进入实际服务之前,对视觉识别的请求转到nginx
。