如何使用 Python 在 IBM Watson Visual Recognition 中创建带有变量的 class(不是 classifier)?

How to create a class (not a classifier) with a variable in IBM Watson Visual Recognition with Python?

我正在尝试使用 API 创建一个新的 class,就像 API 文档 https://cloud.ibm.com/apidocs/visual-recognition?code=python#update-a-classifier

中显示的那样

Watson 用作 class 名称的部分是“_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