0
from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
from msrest.authentication import CognitiveServicesCredentials
from azure.cognitiveservices.vision.customvision import prediction
from PIL import Image

endpoint = "https://southcentralus.api.cognitive.microsoft.com/"
project_id = "projectidhere"
prediction_key = "predictionkeyhere"

predict = CustomVisionPredictionClient(prediction_key, endpoint)

with open("c:/users/paul.barbin/pycharmprojects/hw3/TallowTest1.jpg", mode="rb") as image_data:
    tallowresult = predict.detect_image(project_id, "test1", image_data)

Python 3.7,我使用的是 Azure Custom Vision 3.1?(>azure.cognitiveservices.vision.customvision) (3.1.0)

请注意,我在 SO 上看到了相同的问题,但没有真正的解决方案。在另一个问题上发布的答案说要改用 REST API。

我相信错误在端点中(如错误中所述),并且我尝试了一些变体 - 使用斜线,不使用环境变量,不使用环境变量,我尝试将各种字符串附加到我的端点但我不断收到相同的消息。任何帮助表示赞赏。

这里的完整错误:

Traceback (most recent call last):
  File "GetError.py", line 15, in <module>
    tallowresult = predict.detect_image(project_id, "test1", image_data)
  File "C:\Users\paul.barbin\PycharmProjects\hw3\.venv\lib\site-packages\azure\cognitiveservices\vision\customvision\prediction\operations\_custom_vision_
prediction_client_operations.py", line 354, in detect_image
    request = self._client.post(url, query_parameters, header_parameters, form_content=form_data_content)
  File "C:\Users\paul.barbin\PycharmProjects\hw3\.venv\lib\site-packages\msrest\service_client.py", line 193, in post
    request = self._request('POST', url, params, headers, content, form_content)
  File "C:\Users\paul.barbin\PycharmProjects\hw3\.venv\lib\site-packages\msrest\service_client.py", line 108, in _request
    request = ClientRequest(method, self.format_url(url))
  File "C:\Users\paul.barbin\PycharmProjects\hw3\.venv\lib\site-packages\msrest\service_client.py", line 155, in format_url
    base = self.config.base_url.format(**kwargs).rstrip('/')
KeyError: 'Endpoint'
4

1 回答 1

0

CustomVisionPredictionClient 采用两个必需的位置参数:端点和凭据。端点需要在凭据之前传入,尝试交换顺序:

predict = CustomVisionPredictionClient(endpoint, prediction_key)
于 2020-08-14T15:45:04.513 回答