将 python 个模块添加到 AzureML 工作区
Adding python modules to AzureML workspace
我最近一直致力于将机器学习模型部署为 Web 服务。我使用 Azure 机器学习工作室创建了我自己的工作区 ID 和授权令牌。然后,我在我的机器上本地训练 sklearn.linear_model 的 LogisticRegressionCV 模型(使用 python 2.7.13)并使用下面的代码片段我想发布我的模型为 Web 服务:
from azureml import services
@services.publish('workspaceID','authorization_token')
@services.types(var_1= float, var_2= float)
@services.returns(int)
def predicting(var_1, var_2):
input = np.array([var_1, var_2].reshape(1,-1)
return model.predict_proba(input)[0][1]
其中 input 变量是一个列表,其中包含要评分的数据,model 变量包含经过训练的分类器。然后在定义上面的函数之后我想对样本输入向量进行预测:
predicting.service(1.21, 1.34)
但是出现以下错误:
RuntimeError: Error 0085: The following error occurred during script
evaluation, please view the output log for more information:
日志中最重要的消息是:
AttributeError: 'module' object has no attribute 'LogisticRegressionCV'
这个错误对我来说很奇怪,因为当我使用正常 sklearn.linear_model.LogisticRegression 时一切都很好。我能够预测向创建的端点发送 POST 请求,所以我猜 sklearn 工作正常。
更改为 LogisticRegressionCV 后,它没有。
因此我想在我的工作区更新 sklearn。
你有什么想法吗?或者更一般的问题:如何在 azure 机器学习工作室上安装任何 python 模块,以使用我在本地开发的任何模型的预测功能?
谢谢
关于在 Azure ML Studio 上安装 python 模块,官方文档 Execute Python Script
有一段 Technical Notes
介绍了它。
一般步骤如下。
- 通过
virtualenv
创建一个 Python 项目并激活它。
- 在虚拟 Python 环境中通过
pip
安装所有你想要的包,然后
- 将项目
Lib\site-packages
路径下的所有文件和目录打包为zip文件。
- 将 zip 包作为数据集上传到您的 Azure ML WorkSpace。
- 跟随官方 document 为您的
Execute Python Script
. 导入 Python 模块
更多细节可以参考另一个类似的SO线程,它甚至介绍了如何更新Azure安装的Python包的版本。
希望对您有所帮助。
我遇到了同样的问题:错误 0085
我能够使用他们库中提供的 Azure ML 代码示例解决它:
从 Python 个笔记本
部署 AzureML Web 服务
找到
我不会在这里复制整个代码,但我完全按原样使用它并且它适用于波士顿数据集。然后我将它与我的数据集一起使用,我不再收到错误 0085。我还没有找到错误,但很可能是由于某些行为不当的字符或缩进。希望这有帮助。
对于像我一样遇到这个问题并希望在 AzureML 笔记本中安装模块的任何人;似乎当前环境位于计算上的 Conda 上,因此现在就像执行
一样简单
!conda env list
# conda environments:
#
base * /anaconda
azureml_py36 /anaconda/envs/azureml_py36
!conda -n azureml_py36 -y <packages>
在 notebook 环境中或者在没有 !
的情况下在终端环境中做几乎相同的事情
我最近一直致力于将机器学习模型部署为 Web 服务。我使用 Azure 机器学习工作室创建了我自己的工作区 ID 和授权令牌。然后,我在我的机器上本地训练 sklearn.linear_model 的 LogisticRegressionCV 模型(使用 python 2.7.13)并使用下面的代码片段我想发布我的模型为 Web 服务:
from azureml import services
@services.publish('workspaceID','authorization_token')
@services.types(var_1= float, var_2= float)
@services.returns(int)
def predicting(var_1, var_2):
input = np.array([var_1, var_2].reshape(1,-1)
return model.predict_proba(input)[0][1]
其中 input 变量是一个列表,其中包含要评分的数据,model 变量包含经过训练的分类器。然后在定义上面的函数之后我想对样本输入向量进行预测:
predicting.service(1.21, 1.34)
但是出现以下错误:
RuntimeError: Error 0085: The following error occurred during script
evaluation, please view the output log for more information:
日志中最重要的消息是:
AttributeError: 'module' object has no attribute 'LogisticRegressionCV'
这个错误对我来说很奇怪,因为当我使用正常 sklearn.linear_model.LogisticRegression 时一切都很好。我能够预测向创建的端点发送 POST 请求,所以我猜 sklearn 工作正常。 更改为 LogisticRegressionCV 后,它没有。
因此我想在我的工作区更新 sklearn。
你有什么想法吗?或者更一般的问题:如何在 azure 机器学习工作室上安装任何 python 模块,以使用我在本地开发的任何模型的预测功能?
谢谢
关于在 Azure ML Studio 上安装 python 模块,官方文档 Execute Python Script
有一段 Technical Notes
介绍了它。
一般步骤如下。
- 通过
virtualenv
创建一个 Python 项目并激活它。 - 在虚拟 Python 环境中通过
pip
安装所有你想要的包,然后 - 将项目
Lib\site-packages
路径下的所有文件和目录打包为zip文件。 - 将 zip 包作为数据集上传到您的 Azure ML WorkSpace。
- 跟随官方 document 为您的
Execute Python Script
. 导入 Python 模块
更多细节可以参考另一个类似的SO线程
希望对您有所帮助。
我遇到了同样的问题:错误 0085
我能够使用他们库中提供的 Azure ML 代码示例解决它: 从 Python 个笔记本
部署 AzureML Web 服务 找到我不会在这里复制整个代码,但我完全按原样使用它并且它适用于波士顿数据集。然后我将它与我的数据集一起使用,我不再收到错误 0085。我还没有找到错误,但很可能是由于某些行为不当的字符或缩进。希望这有帮助。
对于像我一样遇到这个问题并希望在 AzureML 笔记本中安装模块的任何人;似乎当前环境位于计算上的 Conda 上,因此现在就像执行
一样简单!conda env list
# conda environments:
#
base * /anaconda
azureml_py36 /anaconda/envs/azureml_py36
!conda -n azureml_py36 -y <packages>
在 notebook 环境中或者在没有 !
的情况下在终端环境中做几乎相同的事情