我想将Azure ML Web服务用于Python的非机器学习任务。目标如下:
我有一个像这样的熊猫DF:
Id Value
0 111 0.1
1 222 7.3
2 333 3.1
3 444 5.0
我可以成功查询此DF(Id的某一行的值是多少?):
float(df.loc[pot['Id'] == 222, 'Value'])
现在,我想在Azure ML Web Service中部署一个具有此功能的函数,其中函数使用上载的数据集作为修复查找表。我构造了一个函数,它获取一个Id号作为参数,在pre-uploade数据集中查找值并将其作为float返回:
from azureml import services
import pandas as pd
@services.publish(workspace_id, workspace_token)
@services.types(id=int)
@services.returns(float)
def my_func(id):
my_df = ws.datasets["uploaded_df.csv"].to_dataframe()
return float(my_df.loc[cent['Id'] == id, 'Value'])
我可以将它部署在Azure Web服务上,但是当我尝试运行测试查询时它会被卡住(甚至无法窥视细节)。这有什么问题?
答案 0 :(得分:0)
让我首先准确描述一下这里发生了什么,以帮助您更好地理解它失败的原因。
@services注释有什么作用?
Workspace对象有什么作用?
它连接到提供的Studio API,可以在“ws.datasets”中使用时提取数据集。
那为什么不起作用?
它不起作用,因为EPS现在在没有网络访问的多租户服务中运行,并且您的功能现在被沙箱阻止(即使您要重新初始化函数内的工作区对象 - 我不知道当http客户端关闭并稍后重新水化时实际发生的事情)
我该怎么办?