如何在AzureML批量端点invoke方法中用URI文件夹调用predict_proba
解决AzureML批量端点调用AutoML模型返回预测概率的问题
你之前的错误源于全局参数的传递方式不符合AzureML SDK的要求,正确的做法是将全局参数通过global_parameters参数单独传入batch_endpoints.invoke方法,而非嵌套在inputs字典中。以下是可直接使用的调用代码:
# Input being ADLS input = Input( type=AssetTypes.URI_FOLDER, path="https://mydatalake.blob.core.windows.net/my_container/folder_with_data" ) # Invoke endpoint to get prediction probabilities job = ml_client.batch_endpoints.invoke( endpoint_name="heart-test", inputs={ "heart_dataset": input, }, global_parameters={ "method": "predict_proba" } )
核心说明:
- AutoML自动生成的批量评分脚本已内置对
global_parameters中method参数的支持,无需修改脚本。传入method: "predict_proba"后,脚本会自动调用模型的predict_proba方法,返回每个样本的类别概率值(二分类场景下会输出两个类别的概率数组)。 - 你之前的写法把
GlobalParameters放在inputs字典内,SDK会将其当作数据输入处理,导致普通字典无法被序列化为AzureML的标准输入对象,进而触发序列化错误。
等待批量作业完成后,即可在作业输出中获取包含预测概率的结果文件。
内容的提问来源于stack exchange,提问作者Connor
相关产品推荐
相关产品推荐

