首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watson视觉识别: Curl命令"url:(6)无法解析主机: POST;找不到主机“

Watson视觉识别: Curl命令"url:(6)无法解析主机: POST;找不到主机“
EN

Stack Overflow用户
提问于 2017-01-11 18:46:29
回答 1查看 392关注 0票数 0

我想知道为什么当我创建一个分类器时,我想要包含在我的分类器中的大多数类都没有生成?

我使用以下代码来训练我的分类器(使用curl -k而不是curl -x),但并不是我想要创建的所有类都显示在输出/响应中:

输入:

代码语言:javascript
复制
curl.exe -k POST -F "Hairline Cracking
Severe_positive_examples=@HairLineCracking_Severe.zip" -F "Durability 
Cracking_positive_examples=@DCracking.zip" -F 
"Scaling_positive_example=@Scaling.zip" -F "Pop 
Outs_positive_example=@PopOuts.zip" -F "Offset 
Cracking_positive_example=@OffsetCracking.zip" -F "Map 
Cracking_positive_example=@MapCracking.zip" -F "Hairline 
Cracking_positive_example=@HairLineCracking.zip" -F 
"negative_examples=@NotConcrete.zip" -F "name=concreteIssues" 
"https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classifiers?
api_key={apikey}=2017-05-20"

输出:

代码语言:javascript
复制
url: (6) Could not resolve host: GET; Host not found

"classifier_id": "concreteIssues_580100916",
    "name": "concreteIssues",
"owner": "6217d8a0-8995-4b94-9e96-bfacd090bfcb",
"status": "training",
"created": "2017-01-11T09:17:09.558Z",
"classes": [
    {"class": "Hairline Cracking Severe"},
    {"class": "Durability Cracking"}
]

然后,我尝试通过添加响应中没有显示的剩余类来更新分类器,但它的响应是413请求实体太大

(注意:我所有的.zips都小于3mb,所以这不是压缩文件太大的问题)

EN

回答 1

Stack Overflow用户

发布于 2017-01-12 12:39:02

谢谢你的问题。在发布的代码中有几个问题。

在你的标题中,错误“url: (6) Could not resolve host: POST; Host not found”来自于curl - on the client。这意味着它试图将字符串POST解释为URL,但事实并非如此。

您提到使用-k而不是-x。-k选项告诉curl允许不安全的证书,我认为您在这里不需要这样的证书。您应该删除-k和字符串POST。使用-F选项意味着POST。

此外,字符串的"https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classifiers?api_key={apikey}=2017-05-20“部分似乎缺少=2017-05-20部分之前的字符串"version”。我想这是一个打字错误。

现在,转到为什么有些类没有出现的问题,比如你的例子中的"Scaling“。在我看来,你的命令没有明显的问题。但是,如果Scaling.zip文件中至少有10个所需的正数示例,则可能会发生这种情况。这有可能吗?

关于重新训练和收到413错误代码-由于内部超时,如果您总共有大约100个训练图像,则可能会发生这种情况。这是一个已知的问题-在7月5日的发行说明中进行了描述。https://www.ibm.com/watson/developercloud/doc/visual-recognition/releasenotes.shtml

但是,好消息是,尽管您可能会收到此错误消息,但重新培训过程很可能会在后台继续并成功。您应该遵循此工作流程,并且在第一个分类器成功或失败完成之前,不要为同一分类器提交额外的再培训请求:

因此,对于再培训,解决方法工作流程是:

  1. 注意来自GET /分类器/{cid}的retrained时间戳(如果有的话)的值这是它最后一次成功重新训练的时间。
  2. 启动单个重新训练请求。并行提交单个分类器的重新训练请求可能会导致未定义的结果。VR尝试阻止这一点,但存在竞争条件,即此调用
  3. 每个训练图像(新图像和以前/原始图像)等待1秒"first".
  4. ignore 413错误或500错误。
  5. 开始轮询GET /分类器/{cid}以获取最准确的状态
  6. 检查retrained时间戳是否已更新。这表示成功,如果需要,您可以重复此过程以添加更多图像。
  7. 如果状态为ready,但retrained时间戳与步骤1中的相同,则表示重新训练失败,分类器回滚到步骤1中的状态。现在,分类器描述中可能添加了explanation字段。
  8. 如果在每个训练图像等待和轮询10秒后,状态仍为retraining,且retrained时间戳未更新,则表示很可能发生了故障。使用分类器进行/classify应该会得到与重新训练请求之前相同的结果。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41588756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档