我正在尝试使用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