用CNN作为滤波器的图卷积算子

matrix-conv的Python项目详细描述


矩阵变换

MatrixConv是图的卷积滤波器,其中节点特征是n维矩阵,例如2D或3D图像,例如scene graph。过滤器应用(非图)卷积,即torch.nn.Conv{1/2/3}d,来转换节点特征。节点嵌入更新如下:

其中φrφm是cnn(^{}),而{em1}$We是一个权重矩阵。在

安装

此模块可与pip一起安装:

$ pip install matrix_conv

使用

MatrixConv基于PyTorch Geometric构建,并从^{}模块派生。它需要一个输入图,其中每个节点的“特征”是一个矩阵(1D、2D或3D)。MatrixConv,与^{}类似,在从节点的邻居收集消息时,也包含了任何可用的边缘特性。在

参数:

  • in_channelsint):输入节点矩阵中的通道数(例如,如果每个节点的特征是一个3x5矩阵,有2个输入通道,则in_channels=2
  • out_channelsint):输出节点嵌入中的通道数
  • matrix_dimslisttuple):与节点相关联的矩阵维数(例如,如果每个节点的特征是3x5矩阵,则matrix_dims=[3, 5]
  • num_edge_attrint):边缘属性/特征的数量
  • kernel_dimslisttuple):CNN中卷积内核的维数
  • aggrstring可选):要使用的消息聚合方案(“add”,“mean”,“max”)
  • root_cnnbool可选):如果设置为False,层将不会将cnn转换的根节点特性添加到输出中
  • biasbool可选):如果设置为False,则层将不会学习加性偏差
  • **kwargs可选):用于torch.nn.Conv{1/2/3}d的其他参数

示例用法:

^{pr2}$

待办事项:显示在图分类器中使用此方法的示例(包括堆栈)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java语义理解递归反向字符串返回语句   java toString()方法打印空值   java大型IN子句   如何使用JavaSpring在JavaScriptjQuery中设置post路径   java ByteArrayOutputStream已上载到服务器   java为什么轮询在SocketIO上获取数据“无法加载请求的项”?   java源代码应该以UTF8格式保存   Java数据库轮询器?   在Java中将double转换为float   java AccessDeniedException:C:\Windows\System32\drivers\etc\hosts