在Azure ML中安装R包

时间:2017-04-03 04:20:57

标签: r azure installation package

我第一次使用Azure ML并且我的时间非常艰难。我需要在R packages中安装默认情况下未提供的多个Azure ML。为简单起见,我们假设我只需要安装forecast包。

根据写的here,我还需要计划安装forecast package的依赖项。但是,根据documentationforecast package有几十个依赖项。此外,这些依赖项可能具有默认情况下未安装在Azure ML中的依赖项。此外,在Azure ML中上传zip文件并尝试使所有依赖项都能正常运行似乎不太正确。

有没有其他方法来安装forecast package比我在网上找到的更简单,更简单?公司做什么?上传zip文件似乎不可行!

3 个答案:

答案 0 :(得分:1)

不幸的是,是的。你可以做两件事。

  1. 首先找出azureml中已经安装了哪些依赖项。 见this blogpost

    在AML工作室中使用执行R脚本任务并复制粘贴以下脚本:

    out <- data.frame(installed.packages(,,,fields=”Description”))
    maml.mapOutputPort(“out”)
    
  2. 收集所有依赖的软件包(导入和链接)并将这些软件包添加到zip文件中(按照正确的顺序),并按照您链接到的博客文章中的信息进行操作。

  3. 我使用选项1,因为这限制了所需的包数量。但请注意azureML和cran上的版本差异。

答案 1 :(得分:1)

您可以使用miniCRAN(https://cran.r-project.org/web/packages/miniCRAN/index.html)构建包含所有依赖项的zip文件,然后上传zip文件并使用它来安装所需的软件包。它还允许您选择目标平台(type =&#34; win.binary&#34;)和R版本(RVersion =&#34; 3.1&#34;),这些在使用Azure ML时至关重要。这里有一个教程(http://blog.revolutionanalytics.com/2015/10/using-minicran-in-azure-ml.html)概述了这些步骤。

答案 2 :(得分:1)

还有另一种简单的解决方案,可以将自定义程序包上传到Azure ML Studio。我以quanteda为例。清空已安装的软件包文件夹。 。需要避免本地环境中已有的软件包与最近安装的软件包之间的混淆。接下来,安装软件包。在安装过程中,重要的是要保持软件包的安装和安装顺序(因为这些软件包也可能有其自己的依赖性)。

 - le package ‘chron’ a été décompressé et les sommes MD5 ont été
   vérifiées avec succés 
 - le package ‘RColorBrewer’ a été décompressé et
   les sommes MD5 ont été vérifiées avec succés
 - ...
 - le package ‘quanteda’ a été décompressé et les
   sommes MD5 ont été vérifiées avec succés

在与上述相同的文件夹中找到所有相关的软件包:C:\ Users \\ Documents \ R \ win-library \。然后需要分别压缩每个程序包。为了节省时间,您可以创建一个简单的批处理文件,该文件将对目录中的每个文件夹(使用(*)中的/ d %% X)进行压缩(使用7z应用程序),执行“ c:\ Program Files \ 7-Zip \ 7z.exe”一个“ %% X.zip”“ %% X \”)。

然后将所有存档放入一个文件夹,然后将其上传到Azure ML环境。 注意:Quanteda依赖的大多数程序包已经安装在Azure虚拟机上,因此无需手动安装它们。但是,对于其他组件,有必要在安装Quanteda之前手动安装它们。您可以将依赖项列表与可用的软件包列表进行比较,也可以上传所有内容,然后逐步添加软件包并浏览输出日志。例如,如果您直接安装Quanteda而不安装其依赖项(install.packages(“ src / quanteda.zip”,lib =“。”,repos = NULL,verbose = TRUE))会产生以下错误:

Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
there is no package called 'ca'

现在很明显,所有在“ ca”之前的软件包都已预先安装。因此,添加其他安装将解决此问题。因此,要安装Quanteda,需要以下命令:

install.packages("src/ca.zip", lib = ".", repos = NULL, verbose = TRUE)
install.packages("src/quanteda.zip", lib = ".", repos = NULL, verbose = TRUE)
library(quanteda, lib.loc=".", verbose=TRUE)

您现在可以使用自定义程序包。