import torch from torch_cluster import knn_graph x = torch.tensor([[-1., -1.], [-1., 1.], [1., -1.], [1., 1.]]) batch = torch.tensor([0, 0, 0, 0]) edge_index = knn_graph(x, k=2, batch=batch, loop=False) ...
if torch_cluster is None: raise ImportError('`knn` requires `torch-cluster`.') return torch_cluster.knn(x, y, k, batch_x, batch_y, cosine) def knn_graph(x, k, batch=None, loop=False, flow='source_to_target', cosine=False): r"""Computes graph edges to the nearest :obj:`k` ...
可以看到,add_self_loops 会在原先的edge_index 的后面添加 0->0 , 1->1 , 2->2 的连接 3.4.2 knn 在torch_geometric 的依赖库 torch_cluster 当中,已经实现了 knn 算法,如下图,我进行了如下操作: 随机生成了5个点的坐标 利用knn算法,找到了这些点之间的关系 根据pos 和 edge_index 构建 data 以上...
# 需要导入模块: import torch [as 别名]# 或者: from torch importcdist[as 别名]deftest_knn():x = th.randn(8,3) kg = dgl.nn.KNNGraph(3) d = th.cdist(x, x)defcheck_knn(g, x, start, end):forvinrange(start, end): src, _ = g.in_edges(v) src = set(src.numpy()) i =...
和nuerual structure learning中的graph regularizers的idea基本是如出一辙,不过后者用的是预计算的静态的全局的graph结构,这里则是动态的batch内的局部的graph结构。 感觉做成batch级别的similarity计算可能更好点,因为实际的通过knn or radius graph得到的图只能知道哪些sample是相似的,但是不知道哪些sample是不相似的(...
data[0])) return M_all, B_all, cluster_center 浏览完整代码 来源:learning_to_learn_lifelong_newclass_trunc.py 项目:yangyi02/my-scripts 示例28 def init_hiddens(self, x, requires_grad=False): batch_size = x.size()[0] return [ Variable(torch.zeros(batch_size, h_size), requires_grad...