d7148f390db12a3f7e4b43ab584648b2e4a1882d,pyro/distributions/spanning_tree.py,SpanningTree,log_partition_function,#SpanningTree#,109
Before Change
edge_probs = (self.edge_logits - shift).exp()
adjacency = torch.zeros(V, V, dtype=edge_probs.dtype)
adjacency[grid[0], grid[1]] = edge_probs
adjacency[grid[1], grid[0]] = edge_probs
laplacian = adjacency.sum(-1).diag() - adjacency
truncated = laplacian[:-1, :-1]
try:
After Change
// See https://en.wikipedia.org/wiki/Kirchhoff%27s_theorem
V = self.num_vertices
v1, v2 = make_complete_graph(V).unbind(0)
logits = self.edge_logits.new_full((V, V), -math.inf)
logits[v1, v2] = self.edge_logits
logits[v2, v1] = self.edge_logits
log_diag = logits.logsumexp(-1)
// Numerically stabilize so that laplacian has 1"s on the diagonal.
shift = 0.5 * log_diag
laplacian = torch.eye(V) - (logits - shift - shift[:, None]).exp()
truncated = laplacian[:-1, :-1]
try:
import gpytorch
In pattern: SUPERPATTERN
Frequency: 4
Non-data size: 4
Instances
Project Name: uber/pyro
Commit Name: d7148f390db12a3f7e4b43ab584648b2e4a1882d
Time: 2020-11-07
Author: fritz.obermeyer@gmail.com
File Name: pyro/distributions/spanning_tree.py
Class Name: SpanningTree
Method Name: log_partition_function
Project Name: open-mmlab/mmdetection
Commit Name: b69667001f250a54a37129a000a8d5160e047239
Time: 2019-12-24
Author: erotemic@gmail.com
File Name: mmdet/core/bbox/assigners/point_assigner.py
Class Name: PointAssigner
Method Name: assign
Project Name: rusty1s/pytorch_geometric
Commit Name: 46887e49fe301323e82a258a8063db846ac63339
Time: 2018-11-16
Author: matthias.fey@tu-dortmund.de
File Name: torch_geometric/nn/prop/gcn_prop.py
Class Name: GCNProp
Method Name: forward
Project Name: rusty1s/pytorch_geometric
Commit Name: 653be87728a9420fbd980d0d6024451c892ef721
Time: 2019-01-28
Author: matthias.fey@tu-dortmund.de
File Name: torch_geometric/nn/glob/sort.py
Class Name:
Method Name: global_sort_pool