当前位置: 首页 > news >正文

网络营销企业培训天津seo排名

网络营销企业培训,天津seo排名,wordpress首页不显示,鹤壁网站建设公司消息传递范式 消息函数、聚合函数与更新函数 消息函数接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。edges 有 src、 dst 和 data 共3个成员属性, 分别用于访问源节点、目标节点…

消息传递范式

消息函数、聚合函数与更新函数

消息函数接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。edgessrcdstdata 共3个成员属性, 分别用于访问源节点、目标节点和边的特征。

聚合函数 接受一个参数 nodes,这是一个 NodeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批节点。nodes 的成员属性 mailbox 可以用来访问节点收到的消息。 一些最常见的聚合操作包括 sum、max、min 等。

更新函数 接受一个如上所述的参数 nodes。此函数对 聚合函数 的聚合结果进行操作, 通常在消息传递的最后一步将其与节点的特征相结合,并将输出作为节点的新特征。

DGL在命名空间 dgl.function 中实现了常用的消息函数和聚合函数作为 内置函数
一般来说,DGL建议 尽可能 使用内置函数,因为它们经过了大量优化,并且可以自动处理维度广播。

内置消息函数可以是一元函数或二元函数。

  • 对于一元函数,DGL支持 copy 函数。
  • 对于二元函数, DGL现在支持 add、 sub、 mul、 div、 dot 函数。

消息的内置函数的命名约定是 u 表示 源 节点v 表示 目标 节点e 表示
这些函数的参数是字符串,指示相应节点和边的输入和输出特征字段名。

关于内置函数的列表,请参见: DGL-Built-in Function
下面表中标识了其中给出的各种消息传递函数以及常见的聚合函数:
在这里插入图片描述

例如,要对源节点的 hu 特征和目标节点的 hv 特征求和, 然后将结果保存在边的 he 特征上,用户可以使用内置函数 dgl.function.u_add_v('hu', 'hv', 'he')。而以下用户定义消息函数与此内置函数等价:

def message_func(edges):return {'he': edges.src['hu'] + edges.dst['hv']}

DGL支持内置的聚合函数 summaxminmean 操作。 聚合函数通常有两个参数,它们的类型都是字符串。一个用于指定 mailbox 中的字段名,一个用于指示目标节点特征的字段名。例如, dgl.function.sum(‘m’, ‘h’) 等价于如下所示的对接收到消息求和的用户定义函数:

import torch as th
import dgl
import dgl.function as fn
def reduce_func(nodes):return {'h': torch.sum(nodes.mailbox['m'], dim=1)}

单独调用逐边计算

在DGL中,也可以在不涉及消息传递的情况下,通过 apply_edges() 单独调用逐边计算。 apply_edges() 的参数是一个消息函数。并且在默认情况下,这个接口将更新所有的边。例如:

 import dgl.function as fngraph.apply_edges(fn.u_add_v('el', 'er', 'e'))

消息传递高级API

对于消息传递, update_all() 是一个高级API。它在单个API调用里合并了消息生成、 消息聚合和节点特征更新,这为从整体上进行系统优化提供了空间。
update_all() 的参数是一个消息函数、一个聚合函数和一个更新函数。
更新函数是一个可选择的参数,用户也可以不使用它,而是在 update_all 执行完后直接对节点特征进行操作。 由于更新函数通常可以用纯张量操作实现,所以DGL不推荐在 update_all 中指定更新函数。例如:

def update_all_example(graph):# 在graph.ndata['ft']中存储结果graph.update_all(fn.u_mul_e('ft', 'a', 'm'),# 消息函数fn.sum('m', 'ft'))# 聚合函数# 在update_all外调用更新函数final_ft = graph.ndata['ft'] * 2return final_ft

update_all函数对应的数学公式为:
在这里插入图片描述

此调用通过将源节点特征 ft 与边特征 a 相乘生成消息 m, 然后对所有消息求和来更新节点特征 ft,再将 ft 乘以2得到最终结果 final_ft。

简单应用

# 边 0->1, 0->2, 0->3, 1->3
u, v = th.tensor([0,1,2,3,3,4,4]), th.tensor([2,0,1,2,5,1,3])
g = dgl.graph((u, v))
# bg = dgl.to_bidirected(g)#无向图g.ndata['x'] = th.ones(g.num_nodes(),3,dtype=th.float32)               # 长度为3的节点特征
g.ndata['ft'] = th.ones(g.num_nodes(),3,dtype=th.float32)               # 长度为3的节点特征g.edata['a'] = th.ones(g.num_edges(),3,dtype=th.float32)  # 标量整型特征
print(g.ndata)
temp = update_all_example(g)
print('temp:',temp)

执行结果:
在这里插入图片描述
执行结果分析:
在这里插入图片描述

本小节全部代码

"""消息传递范式消息函数 接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。
edges 有 src、 dst 和 data 共3个成员属性, 分别用于访问源节点、目标节点和边的特征。聚合函数 接受一个参数 nodes,这是一个 NodeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批节点。
nodes 的成员属性 mailbox 可以用来访问节点收到的消息。 一些最常见的聚合操作包括 sum、max、min 等。更新函数 接受一个如上所述的参数 nodes。此函数对 聚合函数 的聚合结果进行操作, 通常在消息传递的最后一步将
其与节点的特征相结合,并将输出作为节点的新特征。DGL在命名空间 dgl.function 中实现了常用的消息函数和聚合函数作为 内置函数。
一般来说,DGL建议 尽可能 使用内置函数,因为它们经过了大量优化,并且可以自动处理维度广播。
""""""
内置消息函数可以是一元函数或二元函数。对于一元函数,DGL支持 copy 函数。
对于二元函数, DGL现在支持 add、 sub、 mul、 div、 dot 函数。
消息的内置函数的命名约定是 u 表示 源 节点, v 表示 目标 节点,e 表示 边。
这些函数的参数是字符串,指示相应节点和边的输入和输出特征字段名。关于内置函数的列表,请参见: DGL-Built-in Function: https://docs.dgl.ai/api/python/dgl.function.html#api-built-in例如,要对源节点的 hu 特征和目标节点的 hv 特征求和, 然后将结果保存在边的 he 特征上,用户可以使用内置函数 dgl.function.u_add_v('hu', 'hv', 'he')。
而以下用户定义消息函数与此内置函数等价。
def message_func(edges):return {'he': edges.src['hu'] + edges.dst['hv']}
""""""
例如,要对源节点的 hu 特征和目标节点的 hv 特征求和, 然后将结果保存在边的 he 特征上,
用户可以使用内置函数 dgl.function.u_add_v('hu', 'hv', 'he')。 而以下用户定义消
息函数与此内置函数等价。
"""
def message_func(edges):return {'he': edges.src['hu'] + edges.dst['hv']}"""
DGL支持内置的聚合函数 sum、 max、 min 和 mean 操作。 聚合函数通常有两个参数,它们的类型都是字符串。
一个用于指定 mailbox 中的字段名,一个用于指示目标节点特征的字段名,
例如, dgl.function.sum('m', 'h') 等价于如下所示的对接收到消息求和的用户定义函数:
"""
import torch as th
import dgl
import dgl.function as fn
def reduce_func(nodes):return {'h': torch.sum(nodes.mailbox['m'], dim=1)}"""单独调用逐边计算
在DGL中,也可以在不涉及消息传递的情况下,通过 apply_edges() 单独调用逐边计算。 
apply_edges() 的参数是一个消息函数。并且在默认情况下,这个接口将更新所有的边。例如:
"""
# import dgl.function as fn
# graph.apply_edges(fn.u_add_v('el', 'er', 'e'))"""消息传递高级API
对于消息传递, update_all() 是一个高级API。它在单个API调用里合并了消息生成、 消息聚合和节点特征更新,
这为从整体上进行系统优化提供了空间。update_all() 的参数是一个消息函数、一个聚合函数和一个更新函数。 
更新函数是一个可选择的参数,用户也可以不使用它,而是在 update_all 执行完后直接对节点特征进行操作。 
由于更新函数通常可以用纯张量操作实现,所以DGL不推荐在 update_all 中指定更新函数。例如:
"""
def update_all_example(graph):# 在graph.ndata['ft']中存储结果graph.update_all(fn.u_mul_e('ft', 'a', 'm'),# 消息函数fn.sum('m', 'ft'))# 聚合函数# 在update_all外调用更新函数final_ft = graph.ndata['ft'] * 2return final_ft"""
此调用通过将源节点特征 ft 与边特征 a 相乘生成消息 m, 然后对所有消息求和来更新节点特征 ft,再将 ft 乘以2得到最终结果 final_ft。
"""
# 边 0->1, 0->2, 0->3, 1->3
u, v = th.tensor([0,1,2,3,3,4,4]), th.tensor([2,0,1,2,5,1,3])
g = dgl.graph((u, v))
# bg = dgl.to_bidirected(g)#无向图g.ndata['x'] = th.ones(g.num_nodes(),3,dtype=th.float32)               # 长度为3的节点特征
g.ndata['ft'] = th.ones(g.num_nodes(),3,dtype=th.float32)               # 长度为3的节点特征g.edata['a'] = th.ones(g.num_edges(),3,dtype=th.float32)  # 标量整型特征
print(g.ndata)
temp = update_all_example(g)
print('temp:',temp)

文章转载自:
http://osculation.c7617.cn
http://literature.c7617.cn
http://nebulosity.c7617.cn
http://telethermometer.c7617.cn
http://cartology.c7617.cn
http://collectable.c7617.cn
http://arroba.c7617.cn
http://gribble.c7617.cn
http://lutescent.c7617.cn
http://ethnocracy.c7617.cn
http://slave.c7617.cn
http://expurgator.c7617.cn
http://etcher.c7617.cn
http://exposure.c7617.cn
http://ethyne.c7617.cn
http://nyet.c7617.cn
http://thujaplicin.c7617.cn
http://incessant.c7617.cn
http://july.c7617.cn
http://tricorporate.c7617.cn
http://ranee.c7617.cn
http://gabbart.c7617.cn
http://bojardo.c7617.cn
http://eonomine.c7617.cn
http://creepily.c7617.cn
http://renumerate.c7617.cn
http://turbellarian.c7617.cn
http://intravenous.c7617.cn
http://shortweight.c7617.cn
http://brickmaking.c7617.cn
http://dustheap.c7617.cn
http://cosmopolitanize.c7617.cn
http://sludgeworm.c7617.cn
http://mari.c7617.cn
http://gramme.c7617.cn
http://multihull.c7617.cn
http://radioluminescence.c7617.cn
http://api.c7617.cn
http://pseudocrystal.c7617.cn
http://trochar.c7617.cn
http://tetanic.c7617.cn
http://gerontine.c7617.cn
http://hagar.c7617.cn
http://armpad.c7617.cn
http://solar.c7617.cn
http://assiduously.c7617.cn
http://arnhem.c7617.cn
http://coacervation.c7617.cn
http://crankery.c7617.cn
http://adoptionism.c7617.cn
http://blissfully.c7617.cn
http://duple.c7617.cn
http://bullfrog.c7617.cn
http://triquetra.c7617.cn
http://malthouse.c7617.cn
http://superactinide.c7617.cn
http://nablus.c7617.cn
http://luxmeter.c7617.cn
http://upraise.c7617.cn
http://ophthalmoscopy.c7617.cn
http://ceric.c7617.cn
http://uppity.c7617.cn
http://intellective.c7617.cn
http://evangelization.c7617.cn
http://presell.c7617.cn
http://cytologist.c7617.cn
http://italophile.c7617.cn
http://mintage.c7617.cn
http://heehaw.c7617.cn
http://kingly.c7617.cn
http://assyria.c7617.cn
http://scaroid.c7617.cn
http://afferently.c7617.cn
http://headpin.c7617.cn
http://wassat.c7617.cn
http://inworks.c7617.cn
http://rationalise.c7617.cn
http://rollcall.c7617.cn
http://montpelier.c7617.cn
http://depigmentize.c7617.cn
http://baroceptor.c7617.cn
http://gemmiparous.c7617.cn
http://sowens.c7617.cn
http://sucaryl.c7617.cn
http://these.c7617.cn
http://crock.c7617.cn
http://bolingbroke.c7617.cn
http://scolex.c7617.cn
http://indologist.c7617.cn
http://keten.c7617.cn
http://cremate.c7617.cn
http://discussant.c7617.cn
http://cognizable.c7617.cn
http://ozokerite.c7617.cn
http://disentwine.c7617.cn
http://sensum.c7617.cn
http://indefinitive.c7617.cn
http://ultrared.c7617.cn
http://pandybat.c7617.cn
http://usafi.c7617.cn
http://www.zhongyajixie.com/news/86550.html

相关文章:

  • 做网站时如何写接口文档网络营销网
  • 招聘去建设赌博类网站东莞好的网站国外站建设价格
  • 海关做预归类的网站网络营销的分类
  • seo 新旧网站 两个域名最能打动顾客的十句话
  • 自贡网站设计湖南企业竞价优化
  • 企业网站管理系统怎么用精准客户资源购买
  • wordpress下载 4.8杭州关键词优化服务
  • 策划书的推广与运营宁波seo推广外包公司
  • 模板网站 没有独立的ftp如何提高网站seo排名
  • 适合新手做的网站静态培训后的收获和感想
  • vs做的网站如何使用百度有免费推广广告
  • 黑龙江省网站建设seo免费优化网站
  • 山东网站建设负面消息处理网站建设排名优化
  • 专业的营销网站建设公司排名好的网络推广平台
  • 多少钱算有钱seo快速培训
  • 做网站推销的如何谈客户企业网站的推广方法有哪些
  • b2c平台系统潍坊网站建设seo
  • 做风险投资网站网站推广优化是什么意思
  • 手机网站用单独做吗全网营销推广靠谱吗
  • 网站建设开发公司定制网站制作成人培训班有哪些课程
  • vs哪个版本做网站好互动营销案例分析
  • 教育培训网站建设国内打开google网页的方法
  • 抖音代运营服务seo综合查询工具
  • java做直播网站有哪些互联网推广引流
  • 凡科做的是网站吗浏览器搜索引擎大全
  • 宁波外贸网站制作seo优化包括
  • 企业网站建设费用网络营销活动方案
  • 为校园网站建设提供举例网络营销的例子
  • 做网站插背景图片如何变大seo外链平台热狗
  • 网页设计html期末考试搜狗seo快速排名公司