高级API、异构图:谷歌发布TF-GNN,在TensorFlow中创建图神经网络
编辑:陈萍
高效且友好的 TensorFlow GNN 库。



高级 keras 风格的 API 用于创建 GNN 模型,可以很容易地与其他类型的模型组合。GNN 通常与排序、深度检索结合使用或与其他类型的模型(图像、文本等)混合使用;
定义良好的模式用来声明图拓扑结构,以及验证工具。该模式描述了其训练数据的大小,并用于指导其他工具;
GraphTensor 复合张量类型,可以用来保存图数据,也可以进行批处理,并具有可用的图操作例程;
GraphTensor 结构操作库:在节点和边缘上进行各种有效的 broadcast 和 pooling 操作,以及提供相关操作的工具;标准 baked 卷积库,机器学习工程师、研究人员可以对其轻松扩展;高级 API 可以帮助工程师快速构建 GNN 模型而不必担心细节;
模型可以从图训练数据编码,以及用于将此数据解析为数据结构的库中提取各种特征。
import?tensorflow?as?tf
????import?tensorflow_gnn?as?tfgnn
????#?Model?hyper-parameters:
????h_dims?=?{'user':?256,?'movie':?64,?'genre':?128}
????#?Model?builder?initialization:
????gnn?=?tfgnn.keras.ConvGNNBuilder(
??????lambda?edge_set_name:?WeightedSumConvolution(),
??????lambda?node_set_name:?tfgnn.keras.layers.NextStateFromConcat(
?????????tf.keras.layers.Dense(h_dims[node_set_name]))
????)
????#?Two?rounds?of?message?passing?to?target?node?sets:
????model?=?tf.keras.models.Sequential([
????????gnn.Convolve({'genre'}),??#?sends?messages?from?movie?to?genre
????????gnn.Convolve({'user'}),??#?sends?messages?from?movie?and?genre?to?users
????????tfgnn.keras.layers.Readout(node_set_name="user"),
????????tf.keras.layers.Dense(1)
????])
class?WeightedSumConvolution(tf.keras.layers.Layer):
??"""Weighted?sum?of?source?nodes?states."""
??def?call(self,?graph:?tfgnn.GraphTensor,
???????????edge_set_name:?tfgnn.EdgeSetName)?->?tfgnn.Field:
????messages?=?tfgnn.broadcast_node_to_edges(
????????graph,
????????edge_set_name,
????????tfgnn.SOURCE,
????????feature_name=tfgnn.DEFAULT_STATE_NAME)
????weights?=?graph.edge_sets[edge_set_name]['weight']
????weighted_messages?=?tf.expand_dims(weights,?-1)?*?messages
????pooled_messages?=?tfgnn.pool_edges_to_node(
????????graph,
????????edge_set_name,
????????tfgnn.TARGET,
????????reduce_type='sum',
????????feature_value=weighted_messages)
????return?pooled_messages
$>?git?clone?https://github.com/tensorflow/gnn.git?tensorflow_gnn
$>?pip?install?tensorflow
$>?sudo?apt-get?install?graphviz?graphviz-dev
$>?cd?tensorflow_gnn?&&?python3?-m?pip?install?.
详解NVIDIA TAO系列分享第2期:
基于Python的口罩检测模块代码解析——快速搭建基于TensorRT和NVIDIA TAO Toolkit的深度学习训练环境
NVIDIA TAO Toolkit的独到特性 TensorRT 8.0的最新特性 利用TAO Toolkit快速训练人脸口罩检测模型 利用TensorRT 快速部署人脸口罩检测模型


??THE END?
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








机器之心
