Azure机器学习工作室-在使用端点时出错



我在azure机器学习中部署了一个机器学习模型作为pickle文件。端点已创建。现在,我正试图通过以下代码使用端点:

import requests
import numpy as np
# send a random row from the test set to score
random_index = np.random.randint(0, len(X_test) - 1)
input_data = '{"data": [' + str(list(X_test[random_index])) + "]}"
headers = {"Content-Type": "application/json"}
resp = requests.post(service.scoring_uri, input_data, headers=headers)
print("POST to url", service.scoring_uri)
print("prediction:", resp.text)

它给出了以下消息的错误:

prediction: {"data": "Expecting value: line 1 column 12 (char 11)", "message": "Failed to predict"}

数据看起来像:

X_test =>  array([[[0.   ], [0.274710], [0.403273]]])
'{"data": [' + str(list(X_test[random_index])) + "]}"     
convert it to 
'{"data": [[array([0.]), array([0.274710]), array([0.403273])]]}'

在提到的当前代码中,它被提到为POST方法。但是为了使用端点,建议使用GET方法。

import requests
import os
import base64
import json 
personal_access_token = ":"+os.environ["AZ_ACCESS_TOKEN"]
headers = {}
headers['Content-type'] = "application/json"
headers['Authorization'] = b'Basic ' + base64.b64encode(personal_access_token.encode('utf-8'))
#Get a list of agent pools.
instance = "dev.azure.com/name"
propVals = "{name=Default,isHosted=false}"
api_version = "version _number”
uri = ("complete uri”)
r = requests.get(uri, headers=headers) 

要获得完整的URI,请使用将poolName嵌入语法的get方法

https://dev.azure.com/{organization}/_apis/distributedtask/pools?poolName={poolName}&api-version=5.1

如果这种情况类似于使用POST方法本身,请更改代码第6行中的下一行。

input_data = '{"data": [“ + str(list(X_test[random_index])) + "]}’

单引号和双引号错位

最新更新