写点什么

Amazon SageMaker 现已推出:Deep Graph Library

  • 2019-12-11
  • 本文字数:2348 字

    阅读完需:约 8 分钟

Amazon SageMaker 现已推出:Deep Graph Library

今天,我们很高兴地宣布,为简化图神经网络的实现而构建的开源库 Deep Graph Library 现已在 Amazon SageMaker 上推出。


近年来,由于具有从复杂数据(例如自由文本、图像或视频)中提取复杂模式的强大能力,深度学习席卷了整个世界。但是,许多数据集不属于这些类别,使用图形更容易表达。 我们的直觉告诉我们,像卷积神经网络或递归神经网络这样的传统神经网络架构不适用于此类数据集,因此需要一种新的方法。


图神经网络初级读本


图神经网络 (GNN) 是当今机器学习领域最蓬勃发展的方向之一,这些参考文献将带您入门。


GNN 用于在数据集上训练预测模型,例如:


  • 社交网络数据集,其中的图形显示熟人之间的联系;

  • 推荐系统数据集,其中的图形显示顾客与物品之间的互动;

  • 化学分析数据集,其中化合物被建模为由原子和化学键组成的图形;

  • 网络安全数据集,其中的图形描述了源 IP 地址和目标 IP 地址之间的连接;

  • 等等!


在大多数情况下,这些数据集非常庞大,并且只有部分标记。以一个欺诈检测场景为例,在该场景中,我们将尝试通过分析某人与已知欺诈者的联系,来预测其为欺诈行为者的可能性。这个问题可以定义为半监督学习任务,其中只有一小部分图节点将被标记(“欺诈者”或“合法者”)。与尝试构建一个大型的手工标记数据集,并对其进行“线性化”以应用传统的机器学习算法相比,这应该是一个更好的解决方案。


解决这些问题需要特定领域的知识(零售、金融、化学等)、计算机科学知识(Python、深度学习、开源工具)和基础设施知识(培训、部署和扩展模型)。很少人能够掌握所有这些技能,这就是我们需要诸如 Deep Graph Library Amazon SageMaker 之类的工具的原因。


Deep Graph Library 简介


Deep Graph Library (DGL) 于 2018 年 12 月首次在 Github 上发布,是一个 Python 开源库,可帮助研究人员和科学家利用其数据集快速构建、训练和评估 GNN。



DGL 建立在流行的深度学习框架之上,例如 PyTorch Apache MXNet。如果您熟悉其中之一,就会发现使用起来得心应手。无论您使用哪种框架,都可以通过这些对初学者友好的示例轻松入门。我还发现 GTC 2019 研讨会的幻灯片和代码非常有用。


一旦完成了玩具示例,就可以开始探索 DGL 中已实现的各种前沿模型了。例如,您可以通过运行以下命令,使用图卷积网路 (GCN) 和 CORA 数据集来训练文档分类模型:


$ python3 train.py --dataset cora --gpu 0 --self-loop


所有模型的代码均可供查看和调整。这些实现已经过 AWS 团队仔细验证,他们验证了性能声明并确保可以重现结果。


DGL 还包含图形数据集的集合,您可以轻松下载并用于试验。


当然,您可以在本地安装和运行 DGL,但是为了为您提供便利,我们将其添加到了 PyTorch 和 Apache MXNet 的深度学习容器中。这样就可以轻松地在 Amazon SageMaker 上使用 DGL,以在任意规模上训练和部署模型,而不必管理服务器。我将向您展示如何操作。


在 Amazon SageMaker 上使用 DGL


我们在 Github 存储库中为 SageMaker 示例添加了完整的示例:在其中一个示例中,我们使用 Tox21 数据集训练了一个用于分子毒性预测的简单 GNN。


我们尝试解决的问题是,计算出新化合物对 12 种不同靶标(生物细胞内的受体等)的潜在毒性。可以想象,这种分析在设计新药时至关重要,而且无需进行体外实验就能快速预测结果,这有助于研究人员将精力集中在最有希望的候选药物上。


数据集包含 8,000 多种化合物:每种化合物均建模为图形(原子是顶点,原子键是边),并标记 12 次(每个目标一个标记)。我们将使用 GNN 建立一个多标签的二元分类模型,使我们能够预测所考察分子的潜在毒性。


在训练脚本中,我们可以轻松地从 DGL 集合中下载所需数据集。


from dgl.data.chem import Tox21


dataset = Tox21()


Similarly, we can easily build a GNN classifier using the DGL model zoo.


from dgl import model_zoo


model = model_zoo.chem.GCNClassifier(


in_feats=args['n_input'],


gcn_hidden_feats=[args['n_hidden'] for _ in range(args['n_layers'])],


n_tasks=dataset.n_tasks,


classifier_hidden_feats=args['n_hidden']).to(args['device'])


其余代码大部分是原始的 PyTorch,如果您熟悉此库,则使用起来就应该能够驾轻就熟。


要在 Amazon SageMaker 上运行此代码,我们要做的就是使用 SageMaker 模拟器,并传递 DGL 容器的全名并将训练脚本的名称作为超参数。


estimator = sagemaker.estimator.Estimator(container,


role,


train_instance_count=1,


train_instance_type='ml.p3.2xlarge',


hyperparameters={'entrypoint': 'main.py'},


sagemaker_session=sess) code_location = sess.upload_data(CODE_PATH, bucket=bucket, key_prefix=custom_code_upload_location) estimator.fit({'training-code': code_location})


<output removed> epoch 23/100, batch 48/49, loss 0.4684


epoch 23/100, batch 49/49, loss 0.5389


epoch 23/100, training roc-auc 0.9451


EarlyStopping counter: 10 out of 10


epoch 23/100, validation roc-auc 0.8375, best validation roc-auc 0.8495


Best validation score 0.8495


Test score 0.8273


2019-11-21 14:11:03 Uploading - Uploading generated training model


2019-11-21 14:11:03 Completed - Training job completed


Training seconds: 209


Billable seconds: 209


现在,我们可以获取 S3 中经过训练的模型,并将其用于预测大量化合物的毒性,而无需进行实际实验。真是好用!


现已推出!


您现在就可以在 Amazon SageMaker 上使用 DGL。


请试一试,并通过 DGL 论坛Amazon SageMakerAWS 平台或您常用的 AWS Support 联系方式向我们发送反馈。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/now-available-on-amazon-sagemaker-the-deep-graph-library/


2019-12-11 15:32741

评论

发布
暂无评论
发现更多内容

【等保小知识】等保一级需要测评吗?

行云管家

网络安全 等保 等级保护 等保一级

如何跟踪log4j漏洞原理及发现绕WAF的tips

H

网络安全 漏洞

安全漏洞之任意文件上传漏洞分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

[架构实战营] 模块七作业

张祥

架构实战营

CameraX ImageAnalysis

Changing Lin

12月日更

干货分享!边云融合的时序时空数据库实践详解

百度开发者中心

物联网 时序数据库

区块链数字收藏品平台开发,数字藏品交易平台搭建

电微13828808271

视频通信中的码率控制算法

拍乐云Pano

音视频 RTC 视频编码 码率控制

CRM系统如何帮助企业改变销售周期

低代码小观

程序员 销售管理 销售 CRM CRM系统

智慧社区小程序搭建,智慧平安社区解决方案

电微13828808271

重点人员管控系统开发搭建,指挥调度平台建设方案

电微13828808271

从Hadoop框架讨论大数据生态

编程江湖

大数据 hadoop

由IDC余热回收创新技术实践引出的跨界合作探讨

安第斯智能云

算力 碳中和 节能 跨界合作

飞桨EasyDL桌面版正式发布 本地数据、本地网络、本地算力也能高效建模

科技热闻

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」RocketMQ消息发送的全部流程和落盘原理分析

码界西柚

RocketMQ 消息队列 Apache RocketMQ 12月日更

“有创业者的地方,创业邦一直都在” 创业邦100未来独角兽峰会暨2021创业邦年会圆满落幕

创业邦

情报信息分析研判系统搭建,情指勤一体化平台建设开发

电微13828808271

把酒言欢话聊天,基于Vue3.0+Tornado6.1+Redis发布订阅(pubsub)模式打造异步非阻塞(aioredis)实时(websocket)通信聊天系统

刘悦的技术博客

tornado 实时通信 Vue 3 web socket redis'

「Oracle」数据库字符集编码修改

恒生LIGHT云社区

数据库 oracle

恒源云(GPUSHARE)_[文本分类] 文本数据增强1(论文笔记)

恒源云

深度学习 语音识别

语音信号处理 4:汉语中语音的分类及韵律特性

轻口味

28天写作 12月日更

如何开始移动网站测试

FunTester

测试 web测试 FunTester 移动端测试 响应式网页

Log4j2 Zero Day 漏洞 Apache Flink 应对指南

Apache Flink

大数据 flink log4j2

波卡生态的去中心化存储Crust Network | Hoo虎符研究院

区块链前沿News

波卡生态挖矿 Hoo虎符 虎符交易所 虎符研究院 去中心化存储

一站式云安全保障,就用行云管家!完美保障!

行云管家

云计算 云安全 企业上云 云资源 云管理

2021低代码平台推荐,每一个都具有10年行业开发经验!

J2PaaS低代码平台

低代码 低代码开发 低代码开发平台 地代码平台

微服务架构 | 如何利用日志链路追踪程序执行的慢SQL?

李尚智

性能分析 微服务治理 慢SQL 链路分析

如何在 GitHub 上高效阅读源码?

AlwaysBeta

GitHub 源码 源码分析 源码阅读 源码解析

致敬全新的未来!创业邦100未来独角兽峰会暨2021创业邦年会成功举办

创业邦

超市发:多措并举 提振销售 服务顾客

科技热闻

全球IT服务将增1.3万亿美元,联想持续布局智慧服务能力

科技大数据

Amazon SageMaker 现已推出:Deep Graph Library_行业深度_AWS_InfoQ精选文章