首页 > 解决方案 > 使用推理模式时如何删除输入周围的包装器

问题描述

当使用 Inference Schema 为我的 AzureML 端点自动生成 swagger 文档时(详见此处此处),我看到它在我的 input_sample 周围创建了一个包装器。有没有办法不将输入包装在这个“数据”包装器中?

这是我的 score.py 的样子:

input_sample = {
                "id": 123,
                "language": "en"
                "items": [{
                    "item": 1,
                    "desc": "desc"
                }]
            }
output_sample = [{'prediction': 'true', 'predictionConfidence': 0.8279970776764844}]

@input_schema('data', StandardPythonParameterType(input_sample))
@output_schema(StandardPythonParameterType(output_sample))
def run(data):
"""
    {
        data: { --> DON'T WANT this "data" wrapper
                "id": 123,
                "language": "en"
                "items": [{
                    "item": 1,
                    "desc": "desc"
                }]
            }
    }
    """
    try:
        id = data['id']
        ...
        

标签: pythoninferenceazure-machine-learning-serviceazuremlazureml-python-sdk

解决方案


InferenceSchema 与 Azure 机器学习部署一起使用,那么这个包的代码最近在MIT 许可下发布在https://github.com/Azure/InferenceSchema 。因此,您可以使用它来创建特定于您需求的版本。


推荐阅读