你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在工作室(经典)中迁移“执行 R 脚本”模块

重要

对 Azure 机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

自 2021 年 12 月 1 日起,无法创建新的机器学习工作室(经典)资源(工作区和 Web 服务计划)。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)试验和 Web 服务。 有关详细信息,请参阅:

机器学习工作室(经典)文档即将停用,并且将来可能不会更新。

本文介绍如何在 Azure 机器学习中重新生成工作室(经典)“执行 R 脚本”模块。

有关从工作室(经典)迁移的详细信息,请参阅迁移概述一文

执行 R 脚本

Azure 机器学习设计器现在在 Linux 上运行。 工作室(经典)在 Windows 上运行。 由于平台更改,你必须在迁移过程中调整“执行 R 脚本”,否则管道会失败。

若要从工作室(经典)中迁移“执行 R 脚本”模块,必须将 maml.mapInputPortmaml.mapOutputPort 接口替换为标准函数。

下表总结了对 R 脚本模块的更改:

功能 工作室(经典版) Azure 机器学习设计器
脚本接口 maml.mapInputPortmaml.mapOutputPort 函数接口
平台 Windows Linux
可访问 Internet
内存 14 GB 依赖于计算 SKU

如何更新 R 脚本接口

下面是工作室(经典)中的示例“执行 R 脚本” 模块的内容:

# Map 1-based optional input ports to variables 
dataset1 <- maml.mapInputPort(1) # class: data.frame 
dataset2 <- maml.mapInputPort(2) # class: data.frame 

# Contents of optional Zip port are in ./src/ 
# source("src/yourfile.R"); 
# load("src/yourData.rdata"); 

# Sample operation 
data.set = rbind(dataset1, dataset2); 

 
# You'll see this output in the R Device port. 
# It'll have your stdout, stderr and PNG graphics device(s). 

plot(data.set); 

# Select data.frame to be sent to the output Dataset port 
maml.mapOutputPort("data.set"); 

下面是设计器中的更新内容。 请注意,已将 maml.mapInputPortmaml.mapOutputPort 替换为标准函数接口 azureml_main

azureml_main <- function(dataframe1, dataframe2){ 
    # Use the parameters dataframe1 and dataframe2 directly 
    dataset1 <- dataframe1 
    dataset2 <- dataframe2 

    # Contents of optional Zip port are in ./src/ 
    # source("src/yourfile.R"); 
    # load("src/yourData.rdata"); 

    # Sample operation 
    data.set = rbind(dataset1, dataset2); 


    # You'll see this output in the R Device port. 
    # It'll have your stdout, stderr and PNG graphics device(s). 
    plot(data.set); 

  # Return datasets as a Named List 

  return(list(dataset1=data.set)) 
} 

有关详细信息,请参阅设计器执行 R 脚本模块参考

从 Internet 安装 R 包

Azure 机器学习设计器使你可以直接从 CRAN 安装包。

这是对工作室(经典)的改进。 由于工作室(经典)在不具有 Internet 访问权限的沙盒环境中运行,因此你必须在 zip 包中上传脚本,才能安装更多包。

使用以下代码在设计器的“执行 R 脚本”模块中安装 CRAN 包:

  if(!require(zoo)) { 
      install.packages("zoo",repos = "http://cran.us.r-project.org") 
  } 
  library(zoo) 

后续步骤

本文介绍了如何将执行 R 脚本模块迁移到 Azure 机器学习。

请参阅工作室(经典)迁移系列中的其他文章:

  1. 迁移概述
  2. 迁移数据集
  3. 重新生成工作室(经典)训练管道
  4. 重新生成工作室(经典)Web 服务
  5. 将机器学习 Web 服务与客户端应用集成
  6. 迁移“执行 R 脚本”模块。