无法将图像添加到现有分类器

时间:2016-07-31 15:47:26

标签: ibm-cloud visual-recognition

我已经使用20个类成功创建了一个分类器,每个类中有200个图像。当我尝试向此分类器添加其他类时,API调用失败:

Traceback (most recent call last):
  File "create_classifier.py", line 34, in <module>
    print visual_recognition.update_classifier('flowers_1337689264', **myhash)
  File "/usr/local/lib/python2.7/dist-packages/watson_developer_cloud/visual_recognition_v3.py", line 96, in update_classifier
    params=params, accept_json=True)
  File "/usr/local/lib/python2.7/dist-packages/watson_developer_cloud/watson_developer_cloud_service.py", line 268, in request
    raise WatsonException(error_message)
watson_developer_cloud.watson_developer_cloud_service.WatsonException: Unknown error

这是我的代码:

import json
from watson_developer_cloud import VisualRecognitionV3
from glob import glob

visual_recognition = VisualRecognitionV3('2016-05-20', api_key='xxxx')

myhash = {}
for f in sorted(glob('*.zip'))[20:30]:
    clas = f.replace('.zip','');
    clas = clas.replace(' ', '-')
    clas += '_positive_examples'
    myhash[clas] = open(f, 'rb')

print myhash
#print visual_recognition.create_classifier('test', **myhash)
print visual_recognition.update_classifier('test_1337689264', **myhash)

1 个答案:

答案 0 :(得分:0)

不确定这是否是您的问题,但重新训练存在问题 - 如果您的培训.zip文件包含名为图像的文件(例如,* .jpg或* .png),但实际上并不存在在尝试编组所有向量进行再训练时,系统会认为它有不完整的数据。从MacOS使用.zip文件时可能会经常发生这种情况,其中可能包含一个“隐藏”的__MACOSX文件夹,文件名为此。

2016年8月10日部署了导致重新训练失败的非图像文件问题的解决方案。在训练示例中重新训练非图像文件时,不应妨碍在该日期之后创建的分类器。但是,它不具有追溯性,因此在该日期之前训练的分类器的解决方法是使用相同的输入zip文件开始训练过程以创建新的,然后删除旧的分类器。