理想下载站 手游攻略 新游动态 高级API、异构图:Google 发布TFGNN 在TensorFlow 中创建图神经网络

高级API、异构图:Google 发布TFGNN 在TensorFlow 中创建图神经网络

时间:2025 12 11 20:34:03 来源: 浏览:80

大家好,今天给各位分享高级API、异构图:Google 发布TFGNN 在TensorFlow 中创建图神经网络的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

此前,TensorFlow GNN 的早期版本已在Google 的各种应用中使用,包括垃圾邮件和异常检测、流量估计、YouTube 内容标记等。特别是,考虑到Google 数据的种类繁多,该库在设计时就考虑到了异构图。

项目地址:https://github.com/tensorflow/gnn

为什么使用GNN?

无论是在现实世界中还是在我们设计的系统中,图表无处不在。一组物体或不同的人以及他们之间的联系通常可以使用图表来描述。通常,机器学习中的数据是结构化的或关系性的,因此也可以用图形来描述。尽管GNN 的基础研究已经存在了几十年,但直到最近几年才取得一些进展,包括流量预测、假新闻检测、疾病传播建模、物理模拟以及理解分子为何有气味。

图可以对不同类型数据的关系进行建模,包括网页(左)、社交关系(中)或分子(右)。

如何定义图表?简而言之,图表示一组实体(节点或顶点)之间的关系(边)。我们可以描述每个节点、边或整个图,从而在图的每个部分存储信息。此外,我们可以为图的边指定方向性来描述信息或信息流。

GNN 可用于回答有关这些图的多个特征问题。 GNN 可用于节点级任务,对图的节点进行分类并预测图中的分区和相关性,类似于图像分类或分割。最后,我们可以在边缘级别使用GNN 来发现实体之间的连接。

TensorFlow GNN

TF-GNN (TensorFlow GNN) 提供了在TensorFlow 中实现GNN 模型的构建块。除了建模API 之外,该库还提供了用于处理图数据的可用工具,包括基于张量的图数据结构、数据处理管道以及供用户快速入门的几个示例模型。

TF-GNN 工作流程组件

TF-GNN 库的初始版本包含许多适合初学者和有经验的用户的实用程序和功能,包括:

用于创建可轻松与其他类型模型组合的GNN 模型的高级keras 风格API。 GNN经常与排序、深度检索结合使用或与其他类型的模型(图像、文本等)混合使用; GraphTensor是一种复合张量类型,可以用来保存图数据,也可以批量处理,并且有可用的图操作示例程序; GraphTensor结构操作库:对节点和边进行各种有效的广播和池化操作,并提供相关操作的工具;标准烘焙的卷积库,机器学习工程师和研究人员可以轻松扩展;先进的API可以帮助工程师快速构建GNN模型,而无需担心细节;模型可以从图训练数据编码中提取各种特征,以及用于将这些数据解析为数据结构的库。例子

以下示例使用TF-GNN Keras API 构建一个模型,根据用户观看的内容和喜欢的内容向用户推荐电影。

此任务是使用ConvGNNBuilder 方法指定边类型和节点配置来完成的,即在边上使用WeightedSumConvolution(定义如下):

import tensorflow as tf import tensorflow_gnn as tfgnn # 模型超参数: h_dims={'user': 256, 'movie': 64, 'genre': 128} # 模型构建器初始化: gnn=tfgnn.keras.ConvGNNBuilder( lambda edge_set_name Weighted:求和卷积( ), lambda node_set_name: tfgnn.keras.layers.NextStateFromConcat( tf.keras.layers.Dense(h_dims[node_set_name])) ) # 两轮消息传递到目标节点sets: model=tf.keras.models.Sequential([ gnn . Convolve({'genre'}), # 将消息从电影发送到流派gnn.Convolve({'user'}), # 将消息从电影和流派发送到用户tfgnn.keras.layers.Readout(node_set_name='user' ) , tf.keras.layers.Dense(1) ]) 有时我们希望GNN 性能更强大。例如,在前面的例子中,我们可能希望模型在推荐电影的同时给出权重。下面的代码片段定义了具有自定义图卷积和加权边的更高级的GNN。下面的代码定义了WeightedSumConvolution类,它将边值池化为所有边的权重之和:

class WeightedSumConvolution(tf.keras.layers.Layer): '''源节点状态的加权和。''' 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) 权重=graph.edge_sets[edge_set_name]['weight'] tfgnn.TARGET, reduce_type='sum', feature_value=weighted_messages) return pooled_messages 请注意,即使编写卷积时只考虑源节点和目标节点,TF-GNN 仍然确保它适用并可以无缝处理异构图(具有各种类型的节点和边)。

安装

这是目前安装tensorflow_gnn的唯一方法。强烈建议使用虚拟环境。

克隆tensorflow_gnn:

>>git clone https://github.com/tensorflow/gnn.git tensorflow_gnn 安装TensorFlow:

>>pip install tensorflow 安装Bazel:Bazel 需要构建包的源代码。安装步骤请参考:https://docs.bazel.build/versions/main/install.html

安装GraphViz:该软件包使用GraphViz作为可视化工具,安装因操作系统而异,例如Ubuntu:

>>sudo apt-get install graphviz graphviz-dev 安装tensorflow_gnn:

>>cd tensorflow_gnn python3 -m pip install 。参考链接:

用户评论

疯人疯语疯人愿

谷歌什么时候才能把这些搞得更方便一点啊?虽然这篇文章介绍了TfgNN pretty cool,但我还是觉得学习成本有点高,希望以后能有更直观的教程!

    有7位网友表示赞同!

她最好i

终于来了,我一直期待着TensorFlow 能支持图神经网络模型。这个新API和异构图的功能感觉很棒,将来训练大型复杂图数据会更轻松了

    有11位网友表示赞同!

颓废人士

这篇文章写的太技术了,我一个不太懂编程的门外汉完全看不懂啊...希望能有更加通俗易懂的介绍!

    有16位网友表示赞同!

残花为谁悲丶

高级API和异构图都是很重要的方向,谷歌再次领先一步!我对TfgNN这个模型非常期待,未来在半监督学习和知识图谱方面可能会有巨大的突破。

    有14位网友表示赞同!

夜晟洛

之前用PyTorch做图神经网络感觉比TensorFlow要好很多。但谷歌这次推出的新API肯定有很多功能亮点,我还有点心动想要试试看

    有10位网友表示赞同!

嘲笑!

这也太让人兴奋了!终于可以不用在TensorFlow里纠结于怎么表示图结构了,TfgNN简直是完美解决这个问题的利器!以后模型训练会轻松很多倍。

    有20位网友表示赞同!

桃洛憬

感觉TfgNN 的发布对深度学习领域起到了重大推动作用。希望研究者们能积极探索它的应用,为科研做出更多贡献

    有11位网友表示赞同!

青墨断笺み

我试着用TfgNN建模型了,刚开始还是有点困难,不知道这个高级API能不能真正解决图神经网络的开发效率问题...

    有5位网友表示赞同!

抓不住i

异构图的概念很新颖,我觉得在应对复杂的数据场景还是很实用的。希望谷歌能继续完善TfgNN,让它更强大、更灵活!

    有10位网友表示赞同!

男神大妈

这篇博文写的有点过于学术了,我不是研究人员就有点吃力啊...能不能加一些更生动的解释和应用案例?这样大家更容易理解。

    有16位网友表示赞同!

龙吟凤

高级API的确可以提高开发效率,但关键是它的性能表现如何?还需要再测试一下才行。希望能有详细的 benchmarks 数据对比

    有19位网友表示赞同!

凝残月

我对TfgNN这个模型抱有很多期待!我希望它能帮助我们更好地挖掘图数据的价值,开创出更多新的应用领域。比如在推荐系统、社交网络分析等等

    有6位网友表示赞同!

﹎℡默默的爱

TensorFlow一直是我最喜欢的深度学习框架,这次发布的 TfgNN 让我更加喜爱了它!感觉谷歌对AI技术的不断探索真是令人赞叹。

    有12位网友表示赞同!

病态的妖孽

这篇博文终于给了我一些关于图神经网络在TensorFlow上的进展方向的思路了。TfgNN 应该能帮助我们构建出更强大的图模型,期待后续的研究成果

    有9位网友表示赞同!

熟悉看不清

从文章里分析,这个谷歌的新API主要针对的是研究人员,对于普通开发者来说还是有些门槛高... 希望将来能够应用到更广泛的场景中来!

    有16位网友表示赞同!

灼痛

看了这篇博文之后,我对TensorFlow对图神经网络的研究方向感到信心满满!相信TfgNN将会在未来带来更多突破性成果。

    有19位网友表示赞同!

予之欢颜

谷歌这次真是把我的期待全部满足了:高级API、异构图,再加上高效的模型训练!TfgNN 的发布是深度学习领域的重大里程碑,我迫不及待想要一试身手!

    有6位网友表示赞同!

愁杀

感觉这篇博文对 TfgNN 的介绍还是比较浅层的,没法深入理解它的原理和使用方法。希望谷歌能出一些更详细的技术文档来帮助我们更好地学习和应用!

    有16位网友表示赞同!

标题:高级API、异构图:Google 发布TFGNN 在TensorFlow 中创建图神经网络
链接:https://www.ltthb.com/news/xydt/134551.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
三角洲行动11月19日密码是什么

三角洲行动每个地图里的密码门每天都会按时更新密码。你要收集各种线索串联起来再去密码门输入正确的密码才

2025-11-19
心动小镇11月19日溜溜橡木和无暇荧石采集位置在哪

心动小镇溜溜橡木和无暇荧石可是每日必采的稀有资源,不过要是想收集它们的话,得先完成【寻找星灵】主线任务解

2025-11-19
星际战甲伤害值查看方法攻略-伤害值在哪看

星际战甲里打出伤害后有很多小伙伴都还找不到查看具体数值的地方,不过毕竟要了解自己的输出数据,才能更好规划

2025-11-19
荒原曙光战宠图文详情介绍

荒原曙光一份实力实用又强力的战宠名单给大家,输出辅助等等系别的战宠全都有,轻轻松松帮你根据不同的战斗场景

2025-11-19
[!--temp. The end of the content page--]