尝试上传zip文件时,会出错:
INFO:< - HTTP FAILED:java.net.SocketException:通过对等方重置连接:套接字写入错误 (Error Screenshot)
这是我发现的 from IBM Watson Documentation
因此,我已经处理了上述每一个方面。
我已经支付了服务费用,并更改了api密钥。
拉链总数:约1000。
每个zip包含大约15张图片。
我认为问题可能是,如果我检查所有zip文件的总大小,那么它大约是1GB。这是一个拥有大量zip文件的问题吗? 相同的代码适用于较少量的zip文件。
List<File> allZipPath = new ArrayList<File>();
// add zip paths
Builder classBuilder = new ClassifierOptions.Builder();
for(int i=0; i<allZipPath.size(); i++){
//Take the name and add as a name to the class
classBuilder.addClass(allZipPath.get(i).getName(), allZipPath.get(i));
}
ClassifierOptions createCanaryOptions = classBuilder.classifierName(classifierName).build();
// you can add negative zip by using ".negativeExamples(new File(myFilePath +"cats.zip")).build()"
result = service.createClassifier(createCanaryOptions).execute();
//System.out.println(result);
System.out.println("Classifier created with Id: " + result.getId() + "\n\n");
答案 0 :(得分:0)
感谢您对视觉识别的兴趣。
编写本文档时假设您在class
内的classifier
内提交了1个zip文件。
您是否将同一个类的示例拆分为不同的.zip文件?这是可能的,但除非你的单个类的例子超过100MB,否则没有必要。
建议的培训模式是发出一个总计低于256 MB的请求,其中包含其中每个类的所有示例。如果您有比这更多的培训数据,您可以提交额外的&#34;再培训&#34;向现有类添加更多类和/或更多示例的请求。此处记录了再培训:https://www.ibm.com/watson/developercloud/doc/visual-recognition/tutorial-custom-classifier.html#to-add-new-classes-to-an-existing-classifier
该服务每个.zip文件至少需要10张图片。
图像的最小建议尺寸为32X32像素。
要澄清,这些是最低限度 - 在您正在训练的class
中,每个classifier
必须至少有10个示例图像。最好将class
的所有训练图像放入单个.zip文件中,每个.zip文件的限制为100MB。如果您有比每个类更多的示例,则可以使用再训练功能添加更多。
此外,32x32是最小尺寸。理想情况下,您应该提交原始大小的图像,但如果您需要缩小它们以节省时间或带宽,您现在可以调整到224x224,而不会降低培训质量。 (确切的尺寸将来可能会发生变化)
我已经支付了服务费用,并更改了api密钥。
拉链总数:约1000。
这是否意味着您的POST /分类器请求包含大约1000个表单字段?在客户端代码和服务器之间的连接中,这可能是问题的根源。
每个zip包含大约15张图片。
虽然系统每个类别至少有10个图像,但提供更多示例(如100-200)通常会带来更好的结果。
我认为问题可能是,如果我检查所有zip文件的总大小,那么它大约是1GB。这是一个拥有大量zip文件的问题吗?相同的代码适用于较少量的zip文件。
如您所述,如果您的总请求大小为1GB,则超过256 MB限制:
该服务每次接受培训最多可接受256 MB。
这可能会导致您观察到的错误。
我的建议是训练少于1000个以上的课程开始,每个课程尽可能多的例子,在进入1000课程之前评估你的结果。如果你已经这样做了,那么最好的策略(因为你说你总共拥有大约1GB的数据)就是将它分成1个原始训练请求(总大小为256MB)和3-4个额外的请求,每个请求都在256MB以下。再培训的账单等于请求中提交的图像数量(与原始培训一样),因此成本与单个大型请求成功时的成本相同。您可以预期每个训练请求每个图像需要1-2秒。
有关培训指南的其他信息,请访问:https://www.ibm.com/watson/developercloud/doc/visual-recognition/customizing.html#guidelines-for-good-training