【问题标题】:503 Internal Server Error raised when creating classifier using IBM Watson Visual Recognition使用 IBM Watson Visual Recognition 创建分类器时引发 503 内部服务器错误
【发布时间】:2021-03-30 14:28:38
【问题描述】:

我是使用 Watson Visual Recognition 的初学者,我正在尝试创建一个自定义分类器来对狗图像进行分类。但是,当尝试创建我的分类器时,如下面的代码 sn-p 所示,我得到一个错误。

with open ('beagle.zip','rb') as beagles,open ('golden-retriever.zip','rb') as golden_retrievers,open `('husky.zip','rb') as huskies:`
       classifier = visrec.create_classifier(name = 'dog_classifier',positive_examples =     `{'beagles':beagles,'golden_retrievers':golden_retrievers,'huskies': 'huskies'})`

这是错误:

    classifier = visrec.create_classifier(name = 'dog_classifier',positive_examples = {'beagles':beagles,'golden_retrievers':golden_retrievers,'huskies': 'huskies'})
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ibm_watson/visual_recognition_v3.py", line 282, in create_classifier
    response = self.send(request)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ibm_cloud_sdk_core/base_service.py", line 302, in send
    raise ApiException(response.status_code, http_response=response)
ibm_cloud_sdk_core.api_exception.ApiException: Error: <HTML><HEAD>
<TITLE>Internal Server Error</TITLE>
</HEAD><BODY>
<H1>Internal Server Error - Write</H1>
The server encountered an internal error or misconfiguration and was unable to
complete your request.<P>
Reference&#32;&#35;4&#46;9436d517&#46;1617113574&#46;3744472
</BODY></HTML>
, Code: 503

我该如何解决这个问题?

【问题讨论】:

    标签: python ibm-watson internal-server-error visual-recognition


    【解决方案1】:

    503表示服务不可用。当你试图击中它时,If 可能已经倒下了。

    当前状态显示它已启动 - https://cloud.ibm.com/status

    你仍然遇到同样的错误吗?

    API 文档 (https://cloud.ibm.com/apidocs/visual-recognition/visual-recognition-v3?code=python#createclassifier) 中的示例代码是

    import json
    from ibm_watson import VisualRecognitionV3
    from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
    
    authenticator = IAMAuthenticator('{apikey}')
    visual_recognition = VisualRecognitionV3(
        version='2018-03-19',
        authenticator=authenticator
    )
    
    visual_recognition.set_service_url('{url}')
    
    with open('./beagle.zip', 'rb') as beagle, open(
            './golden-retriever.zip', 'rb') as goldenretriever, open(
                './husky.zip', 'rb') as husky, open(
                    './cats.zip', 'rb') as cats:
        model = visual_recognition.create_classifier(
            'dogs',
            positive_examples={'beagle': beagle, 'goldenretriever': goldenretriever, 'husky': husky},
            negative_examples=cats).get_result()
    print(json.dumps(model, indent=2))
    

    确保您已正确设置服务 url。端点应与您创建视觉识别服务的区域相匹配。您可以验证 url 应该是什么,因为它将在您获取 API 密钥的同一位置可用。

    在写上一段时考虑到这一点,我意识到,由于您是 Watson Visual Recognition 的新手,您可能尚未创建服务实例或生成 API 密钥。由于该服务已被弃用,您可能无法这样做。如果是这样的话,恐怕您将无法使用该服务。

    【讨论】:

    • 是的,我在几个小时后又试了一次,现在又试了一次,但还是不行。那么错误是否与我的代码无关?
    • 如果您仍然收到 503,那么很可能是您的代码中有错误。由于您没有收到身份验证错误,因此您使用的端点很可能是错误的。检查您是否传入了正确的端点 url。 API 文档中的完整工作代码在我的回答中。
    • 不,我确实有一个 API 密钥和 url,只是我的代码缺少 set_service_url 行。问题已解决,谢谢!
    猜你喜欢
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多