我正在尝试使用API创建一个新类,就像API文档https://cloud.ibm.com/apidocs/visual-recognition?code=python#update-a-classifier中所示
Watson用作类名称的部分是“_positive_examples”的前缀。我需要使用变量的内容作为前缀,但它是一个关键字,我不能在那里添加任何变量(代码中的variableNotWorking)。
我曾尝试将其格式化为字符串,并在Python中创建字典并将其引入其中,但我始终从Python或Watson获取错误。
positive = nuevaClase + '_positive_examples'
visual_recognition = credencials()
with open(aprDirFitxer1, 'rb') as nuevaClase:
updated_model = visual_recognition.update_classifier(
classifier_id=classifId,
positive_examples={positive : nuevaClase}).get_result()
我总是获得的Watson的错误是:
watson_developer_cloud.watson_service.WatsonApiException: Error: Cannot execute learning task. Did not find any files to process in the POST request body. , Code: 400
我认为您的问题可能是您使用的是旧版本的SDK,因为软件包名称在版本3中更改为“ibm-watson”。您需要安装新的SDK包
pip install --upgrade ibm-watson
然后在您的Python代码中,从这个新包导入:
from ibm_watson import VisualRecognitionV3