You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AzureML托管实例部署SVD推荐模型失败:缺失azureml.studio包

问题解决:AzureML Studio SVD模型部署到托管实例端点时azureml.studio包缺失报错

核心问题

从AzureML Studio构建的SVD推荐模型,直接从作业部署到容器实例端点可正常运行,但手动创建托管实例端点并上传自动生成的score.py时,因azureml.studio为Azure内部非公开包,无法通过常规conda/pip安装,导致部署失败。

可行解决方案

方案1:使用AzureML Studio原生部署向导(推荐)

不要手动创建托管实例端点并上传score.py,直接通过Studio界面完成部署:

  • 进入Studio中训练完成的模型或作业输出页面
  • 选择「部署」→「部署到实时端点」
  • 在部署配置中,计算类型选择「托管实例」
  • Studio会自动配置包含所有内部依赖(包括azureml.studio相关包)的环境,无需手动处理score.py和环境配置

方案2:重构score.py,移除对azureml.studio的依赖

直接基于SVD模型的底层实现(Azure SVD推荐器基于scikit-surprise库)重写推理逻辑,避免依赖Studio内部模块:

步骤1:确认模型序列化格式

从训练作业的输出模型文件中,找到实际的模型文件(通常为model.pkl或类似序列化文件),确认是scikit-surprise的SVD模型。

步骤2:重写score.py

import os
import json
import pickle
import pandas as pd

def init():
    global model
    # 模型路径根据实际模型文件位置调整
    model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'trained_model_outputs/model.pkl')
    with open(model_path, 'rb') as f:
        model = pickle.load(f)

def run(data):
    input_payload = json.loads(data)
    input_df = pd.DataFrame(input_payload)
    
    # 生成预测结果,需根据你的输入列名调整(比如user_id、item_id)
    predictions = []
    for _, row in input_df.iterrows():
        pred_result = model.predict(row['user_id'], row['item_id'])
        predictions.append({
            "user_id": row['user_id'],
            "item_id": row['item_id'],
            "predicted_rating": pred_result.est
        })
    
    return json.dumps(predictions)

步骤3:创建自定义环境

创建包含scikit-surprise等依赖的conda环境配置文件conda.yml:

name: svd-recommender-env
channels:
  - conda-forge
dependencies:
  - python=3.8
  - pip=21.2.4
  - pip:
    - scikit-surprise==1.1.3
    - pandas==1.3.5
    - azureml-defaults==1.42.0

部署托管实例端点时,使用此自定义环境。

方案3:复用容器实例端点的环境配置

如果坚持使用原score.py,可以从成功运行的容器实例端点导出环境配置,复用至托管实例:

  1. 在AzureML Studio中找到已成功部署的容器实例端点
  2. 导出该端点的环境配置(包含Azure内部依赖源)
  3. 使用导出的环境创建自定义环境,部署托管实例端点时指定此环境

内容的提问来源于stack exchange,提问作者picklepick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:46:02