用CNN作为滤波器的图卷积算子
matrix-conv的Python项目详细描述
矩阵变换
MatrixConv
是图的卷积滤波器,其中节点特征是n维矩阵,例如2D或3D图像,例如scene graph。过滤器应用(非图)卷积,即torch.nn.Conv{1/2/3}d
,来转换节点特征。节点嵌入更新如下:
其中φr和φm是cnn(^{
安装
此模块可与pip
一起安装:
$ pip install matrix_conv
使用
MatrixConv
基于PyTorch Geometric构建,并从^{MatrixConv
,与^{
参数:
- in_channels(int):输入节点矩阵中的通道数(例如,如果每个节点的特征是一个3x5矩阵,有2个输入通道,则
in_channels=2
) - out_channels(int):输出节点嵌入中的通道数
- matrix_dims(list或tuple):与节点相关联的矩阵维数(例如,如果每个节点的特征是3x5矩阵,则
matrix_dims=[3, 5]
) - num_edge_attr(int):边缘属性/特征的数量
- kernel_dims(list或tuple):CNN中卷积内核的维数
- aggr(string,可选):要使用的消息聚合方案(“add”,“mean”,“max”)
- root_cnn(bool,可选):如果设置为
False
,层将不会将cnn转换的根节点特性添加到输出中 - bias(bool,可选):如果设置为
False
,则层将不会学习加性偏差 - **kwargs(可选):用于
torch.nn.Conv{1/2/3}d
的其他参数
示例用法:
^{pr2}$待办事项:显示在图分类器中使用此方法的示例(包括堆栈)
- 项目
标签: