zoukankan      html  css  js  c++  java
  • 使用Microsoft R进行机器学习和模型发布(1)

    熟悉Azure的同学们都知道,Azure上有一套提供可视化界面的机器学习套件,叫做Azure Machine Learning, 从数据的输入,选择,清洗,到模型的构建,测试,评估和发布都可以通过通过图像化方式,拖拖拽拽就可以完成,当然AML也支持你嵌入自己的R语言和Python语言开发的机器学习算法:

    但对于很多数据科学家来讲, 更偏向于使用R语言来做所有事情。R语言是最为流行,最为强大的数据统计分析,机器学习和可视化语言,本身R来自于开源社区,因此也有着非常活跃的社区和强大的生态系统支持。虽然R非常流行,但如何在企业级环境里面部署R,如何处理大规模的数据,如何通过R快速的构建和发布机器学习模型,仍然不是一件简单的事情。

    Microsoft R是基于开源的R构建的,提供了免费的Microsoft R客户端和Microsoft R open以及商业版本的Microsoft R Server,和开源R完全兼容,提供了总共超过10000个R的语言包,并且提供了一些额外的工具来支持企业级部署,包括远程部署和调试,平台支持,Web服务发布等功能。理想的情况是,数据科学家可以通过R快速构建模型,并一键发布到R集群提供运营服务,而开发人员或者产品团队可以根据数据科学家快速发布的R web service使用数据模型,同时,其他数据科学家也可以通过R client进行模型的测试,调试等等,如下图所示:

    本文主要介绍如何通过Microsoft R server在企业级开发测试环境里面实现机器学习模型的构建,可视化,远端调试以及机器学习模型的发布,客户端的调用等步骤。

    后续文章会介绍,如何在企业级的生产环境里面大规模部署R server集群。

    备注:Microsoft R Server for Linux/Windows已经在Azure中国区正式上线

    Azure上部署Microsoft R server for Linux

    1. 登录到Azure的管理界面,选择"新建"-"虚拟机"-"全部",在搜索框输入"Microsoft R Server",可以看到微软提供多种不同操作系统的R Server:

    1. 选择" Microsoft R Server (version 9.1.0) for Linux (Ubuntu version 16.04)"进行创建,输入基本的信息,如虚拟机名称,用户名,密码,一定要记住你的ssh登录密码:

    1. 剩下的步骤和创建一台普通虚拟机没有差别,选择大小,地区,配置网络等等,再次不再赘述,在汇总页面看一看,没有问题,就选择确定进行虚拟机部署:

    1. 部署完成后,在虚拟机总览界面上找到虚拟机的公共IP地址,使用putty或者其他ssh工具连接到Microsoft R Server,检查下已经安装的R Server package:

    apt list --installed | grep microsoft

    可以看到Microsoft R Server的多个组件已经安装,包括compute node, web node,以及dotnet framework

    1. 我们需要进一步了解一下当前安装的R Server的版本,依赖关系等信息,使用dpkg命令进行检查,可以看到默认安装的R Server版本是9.1,依赖于mkl等包:

       

      dpkg –status Microsoft-r-server-computenode-9.1

    1. 在命令行输入R或者Revo64,如果你的部署一切正常的话,应该出现如下界面:

    Azure上配置Microsoft R Server for Linux(Ubuntu)

    在一个典型的Microsoft R Server开发环境部署中,我们叫做One-Box配置,也就是说把企业级环境里面必须的组件都部署到了一台虚拟机上,适合做开发调试,具体的部署架构图如下所示:

    Web node:用于http接入及认证。

    Compute node:执行R语言创建服务,后续企业级创建可以看到,其实compute node可以大规模扩展。

    SQLite data store: 存放一些元数据,配置信息以及session和服务信息

    在Azure中国区创建Microsoft R server后,我们来对他进行配置。Microsoft R Server 提供了一个明行的工具叫做Administrator Utility来帮助用户进行配置,我们下面来进行One Box的配置:

    1. 进入Microsoft R Server的安装目录,在Ubuntu上默认如下:

      cd /usr/lib64/microsoft-r/rserver/o16n/9.1.0/

       

    2. 启动Administrator Utility工具,这个工具是Dotnet的,实际上是Linux的Dotnet,执行正常的话会显示一个配置界面:

      sudo dotnet Microsoft.RServer.Utils.AdminUtil/Microsoft.RServer.Utils.AdminUtil.dll

       

       

    3. 首先需要设置本地管理员密码,这个是必须要做的第一步,选择2"set a local admin password",密码的设置是有要求的,是我们的复杂密码设置:

       

    4. 然后设置本节点配置,之前其实我们说到,这部分主要是开发测试环境的配置,所以使用OneBox configuration,也就是web node和compute node都在一个计算机上,选择"Configure R Server for Operationalize",然后选择A:One-Box:

    期间会要求你输入admin的密码进行验证,

    1. 配置完成后,我们来run一个诊断测试看看配置结果:

      选择"6. Run diagnostic tests"

      选择"B. Get raw server status"

      或者选择"A. Test configuration"

      可以看到服务器端的各个服务都是运行正常的,那么OneBox服务器端的配置到此完成。

       

    2. 最后,web node使用12800端口对外连接提供服务,登录到Azure管理门户,选择虚拟机的NSG配置,在NSG上配置允许12800端口的访问,保存即可:

       

       

    下一部分介绍R Client端安装,使用R进行远程执行,机器学习以及模型发布。

  • 相关阅读:
    IOS Core Animation Advanced Techniques的学习笔记(五)
    IOS Core Animation Advanced Techniques的学习笔记(四)
    IOS Core Animation Advanced Techniques的学习笔记(三)
    IOS Core Animation Advanced Techniques的学习笔记(二)
    IOS Core Animation Advanced Techniques的学习笔记(一)
    NSString / NSMutableString 字符串处理,常用代码 (实例)
    UITextField的总结
    iOS7中计算UILabel中字符串的高度
    EventUtil 根据IE自动适配事件
    sql 添加修改说明
  • 原文地址:https://www.cnblogs.com/cloudapps/p/6932379.html
Copyright © 2011-2022 走看看