用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分配:从预先存在/分配的池中分配对象   java这种书写方式?   Java正则表达式查找字符串的开头   java是否可以创建一个类来处理安卓中的所有日志代码(例如log.d(TAG,message))   如何使用Selenium和java单击WebTable任意页面上的WebElement   java解析字符串中的文件名   java刷新JTree内容   java如何覆盖RequestMappingHandler   爪哇数石头、布、剪刀赢了多少   struts中的java无效令牌   swing JTree,优化算法,Java   java Tomcat和SSL:密钥库格式无效