0

我遇到了来自 DsX Python 笔记本的问题,

我已经为一个预测变量和一个目标变量实现了一个非常简单的线性回归(单多项式)。

该模型适用于从笔记本中的 python 代码进行预测,但是一旦我将它部署到云上以通过我的 WML 服务中的 Web 服务发布它,我就会发布并发生以下情况:

print(diabetes_X_train.shape)

payload_scoring = {"values":diabetes_X_train.tolist()}

print(payload_scoring)

输出:

(422, 1) {'values': [[0.0616962065186885], [-0.0514740612388061], [0.0444512133365941], [-0.0115950145052127], [-0.0363846922044735], [-0.0406959404999971], [-0.0471628129432825], [-0.00189470584028465], [0.0616962065186885], [0.0390621529671896], [-0.0838084234552331], [0.0175059114895716], [-0.0288400076873072], [-0.00189470584028465], [-0.0256065714656645], [-0.0180618869484982], [0.0422955891888323], [0.0121168511201671], [-0.0105172024313319], [-0.0180618869484982], [-0.0568631216082106], [-0.0223731352440218], [-0.00405032998804645], [0.0606183944448076], [0.0358287167455469], [-0.0126728265790937], [-0.0773415510119477], [0.0595405823709267], [-0.0212953231701409], [-0.00620595413580824], [0.0444512133365941], [-0.0654856181992578], [0.125287118877662], [-0.0503962491649252], [-0.063329994051496], [-0.030995631835069], [0.0228949718589761], [0.0110390390462862], [0.0713965151836166], [0.0142724752679289], [-0.00836157828357004], [-0.0676412423470196],...

下一个单元格:

response_scoring = requests.post(scoring_url, json=payload_scoring, headers=header) print(response_scoring.text)

输出:

{"trace": "6nrs0HsEE1HerigSZ", "errors": [{"code": "invalid_input_data", "message": "Expected 2D array, got 1D array instead:\narray=[ 0.06169621 -0.05147406  0.04445121 -0.01159501 -0.03638469 -0.04069594\n -0.04716281 -0.00189471  0.06169621  0.03906215 -0.08380842  0.01750591\n -0.02884001 -0.00189471 -0.02560657 -0.01806189  0.04229559  0.01211685\n -0.0105172  -0.01806189 -0.05686312 -0.02237314 -0.00405033  0.06061839\n  0.03582872 -0.01267283 -0.07734155  0.05954058 -0.02129532 -0.00620595\n  0.04445121 -0.06548562  0.12528712 -0.05039625 -0.06332999 -0.03099563\n  0.02289497  0.01103904  0.07139652  0.01427248 -0.00836158 -0.06764124\n -0.0105172  -0.02345095  0.06816308 -0.03530688 -0.01159501 -0.0730303\n

但是,如果我在输入数据中增加一维,则会发生以下情况:似乎无法提取 2D。在服务器端进行了一些转换,从 2D jsonize 到 1D numpy 数组,这不会影响使用的训练数据的维度......

payload_scoring = {"values":[diabetes_X_train.tolist()]}

输出:

{"trace": "tbODFulFy7cAIMXZq", "errors": [{"code": "invalid_input_data", "message": "Found array with dim 3. Estimator expected <= 2.", "target": {"name": "values", "type": "field"}}], "status_code": 400}

我认为这可能与我有一个 2D 数组作为 X 输入这一事实有关,它实际上变成了一个 Vector,我尝试了其他模型,例如具有多维输入的 SVM 分类,并且相同的发布代码有效。

有人有同样的情况吗?我无法让它工作。

我也尝试过 SoapUI 以达到相同的结果。部署似乎有问题。

谢谢

4

0 回答 0