R谷歌CloudML接口

    概述

    cloudml包提供了一个R接口谷歌云机器学习引擎,一个托管服务,它可以:

    • 模型构建的可伸缩训练kerastfestimators,tensorflowR包。

    • 按需访问gpu上的培训,包括新的特斯拉P100 gpu从NVIDIA®。

    • 超参数调优,优化模型结构的关键属性,以最大化预测精度。

    • 将训练过的模型部署到谷歌全球预测平台,该平台可支持数千用户和tb数据。卡塔尔世界杯欧洲预选赛赛程表

    CloudML是一个托管服务,您只需为所使用的硬件资源付费。价格取决于配置(例如CPU、GPU和多个GPU)。看到https://cloud.google.com/ml-engine/pricing额外的细节。

    谷歌云账户

    在开始使用CloudML训练模型之前,您需要有一个谷歌云账户.如果你还没有一个帐户,你可以创建一个https://console.cloud.google.com

    如果您是谷歌Cloud的新客户,您将收到一个12个月,300美元的信贷可以应用到CloudML的使用中。此外,谷歌为使用CloudML R接口的用户提供200美元的信用额度(该信用额度同时适用于新客户和现有客户)。使用此链接申请200美元的信贷

    帐户创建过程将引导您创建一个新项目。要为这个项目启用机器学习API,请导航到左侧的“ML引擎”菜单。第一次这样做将启用ML API并允许您提交ML作业。

    安装

    首先从CRAN安装cloudml R包,如下所示:

    install.packages“cloudml”

    然后,安装谷歌云SDK,一套实用程序,使您可以从r内与您的谷歌Cloud帐户进行交互gcloud_install ()函数。

    图书馆(cloudml)gcloud_install()

    注意,为了保证cloudml软件包可以找到你安装的SDK,你应该接受默认的安装位置(~ /)建议在安装程序。

    作为安装的一部分,您被要求为谷歌Cloud指定默认帐户、项目和计算区域。然后,所有CloudML作业都会自动使用这些设置。更改默认帐户、项目或区域时,可以使用gcloud_init ()功能:

    gcloud_init()

    注意,您不需要执行gcloud_init ()这是自动完成的gcloud_install ()

    一旦完成了这些步骤,就可以用CloudML训练模型了!

    培训CloudML

    要在CloudML上训练模型,首先在本地使用训练脚本(可能使用数据集的较小样本)。脚本可以包含任意的R代码,用于训练和/或评估模型。一旦确认一切按预期运行,就可以提交CloudML作业在云中执行培训。

    提交一份工作

    要提交作业,请调用cloudml_train ()函数,指定要执行的R脚本进行训练:

    图书馆(cloudml)cloudml_train“火车。R”

    当前工作目录中的所有文件都将被打包,并与脚本一起发送到CloudML。

    注意,第一次向CloudML提交作业时,运行脚本所需的各种包将从源代码编译。这将使作业的执行时间比预期的要长得多。不过,只有第一个作业会产生此开销(因为包安装是缓存的),后续作业将运行得更快。

    如果你正在使用英格兰vs伊朗让球RStudio v1.1或者更高,然后使用后台终端监视CloudML培训作业(并收集它的结果):

    收集结果

    当作业完成时,可以将培训结果收集回您的本地系统(这是在使用RStudio中的后台终端监视作业时自动完成的)。英格兰vs伊朗让球任务收集完成后,系统显示运行报告:

    方法可以将以前的所有运行作为数据帧列出ls_runs ()功能:

    ls_runs()
    数据帧:6 x 37 run_dir eval_loss eval_acc metric_loss metric_acc metric_loss metric_acc metric_loss metric_acc metric_loss metric_acc metric_loss metric_acc 135812740 0.1049 0.9789 0.0852 0.9760 0.1093 0.9770 2 runs/cloudml_2018_01_26_140015601 0.1402 0.9664 0.1708 0.9517 0.1379 0.9687 5 runs/cloudml_2018_01_26_135848817 0.1159 0.9793 0.0378 0.9887 0.1130 0.9792 3 runs/cloudml_2018_01_26_135848817 0.0963 0.9780 0.0701 0.9792 0.0969 0.9790 1 runs/cloudml_2018_01_26_135936130 0.1486 0.9682 0.1860 0.9504 0.1453 0.9693 4运行/cloudml_2018_01_26_135912819 0.1141 0.9759 0.1272 0.9655 0.1087 0.9762 #…有30多个列:# flag_dense_units1, flag_dropout1, flag_dense_units2, flag_dropout2,样本,validation_samples, # batch_size, epochs, epochs_completed,度量,模型,loss_function,优化器,learning_rate, #脚本,开始,结束,完成,输出,source_code,上下文,类型,cloudml_console_url, # cloudml_created, cloudml_end, cloudml_job, cloudml_log_url, cloudml_units, cloudml_start, # cloudml_state

    方法可以查看运行报告view_run ()功能:

    #查看最新运行view_run()#查看特定的运行view_run“运行/ cloudml_2017_12_15_182614794”

    有许多工具可用于列出、筛选和比较训练运行。有关其他信息,请参阅tfruns包

    使用GPU进行训练

    默认情况下,CloudML使用“标准的”基于cpu的实例,适合训练具有小到中等数据集的简单模型。方法可以请求使用其他类型的计算机,包括带有gpu的计算机master_type参数的cloudml_train ()

    例如,下面将训练与上面相同的模型,但使用特斯拉K80 GPU

    cloudml_train“火车。R”master_type =“standard_gpu”

    用…进行训练特斯拉P100 GPU你会指定“standard_p100”

    cloudml_train“火车。R”master_type =“standard_p100”

    在一台有4个特斯拉P100 GPU的机器上进行训练“complex_model_m_p100”

    cloudml_train“火车。R”master_type =“complex_model_m_p100”

    请参阅CloudML网站的文档可用的机器类型.还要注意,GPU实例可能比CPU实例贵得多!请参阅有关CloudML定价获取详细信息。

    学习更多

    要了解关于使用CloudML和R的更多信息,请参阅以下文章:

    • 训练CloudML深入探讨了培训工作及其输出的管理。

    • Hyperparameter调优探索如何通过使用不同的超参数(例如层的数量和大小)运行许多试验来提高模型的性能,以确定它们的最佳值。

    • 谷歌云存储提供关于在本地计算机和谷歌存储之间复制数据的信息,还描述了如何在培训期间使用谷歌存储中的数据。

    • 部署模型描述如何部署经过训练的模型并从中生成预测。