在Python中使用Python生成的Azure web服务

2024-09-30 02:29:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中使用microsoftazurewebservices时遇到了一个问题,当时该web服务首先从Python发布。我只使用Azure创建了一个web服务,然后使用批处理执行API帮助页面中的示例Python代码成功地使用了Python中的web服务。不过,我还想尝试用Python构建和训练我的机器学习模型,然后将web服务发布到Azure。在将web服务发布到Azure之后,我希望能够从Python再次调用它,以便预测新的数据集。在

我能够用Python训练一个模型,然后在Azure中成功地将其作为web服务发布。但是,当我尝试在Azure中使用此web服务时,遇到以下错误:

请求失败,状态代码为:401

{u'error':{u'message':u'请求未经授权访问资源。',u'code':u'未授权',u'详细信息':[{u'message':u'提供的凭据无效。',u'code':u'ScoreRequestUnauthorized'}]}

我不确定是否有人有这方面的经验,以及调用Python创建的web服务是否与调用Azure中创建的web服务不同。我假设批处理执行代码中唯一不同于web服务的是webapi密钥和URL,因为我使用的是同一个存储帐户。我看不出我的钥匙在哪里失效了。在

我确实看到您可以在同一个会话中调用服务来预测如下数据:

# set up web service
@services.publish(workspace_id,authorization_token)
@services.types(feature1=float, feature2=float)
@services.returns(float)
def demo(feature1,feature2):

    feature_vector = [feature1,feature2]

    return clf2.predict(feature_vector)

# call published service and input new data 
demo.service(feature1,feature2)

但是,我不想每次运行代码时都重新训练模型并创建一个新的web服务,我希望选择重新训练模型并进行预测,或者只预测新数据而不训练新模型,但是我不确定如何在不调用web服务的情况下使用Python发布的web服务。在

提前谢谢!在


Tags: 数据代码模型webmessagedemoservicecode
1条回答
网友
1楼 · 发布于 2024-09-30 02:29:18

根据我的理解,我认为您希望通过Python中的http请求使用已发布的azuremlweb服务。在

根据错误信息,请求失败,状态代码401表示请求未命中头Authorization: Bearer <your-webservice-api key>。在

您可以在azuremlweb服务的仪表板页面上找到API密钥。在

作为参考,请参阅article。在

相关问题 更多 >

    热门问题