-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathGNNGraphs.jl
More file actions
79 lines (69 loc) · 1.54 KB
/
GNNGraphs.jl
File metadata and controls
79 lines (69 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
module GNNGraphs
using SparseArrays
using Functors: @functor
using CUDA
import Graphs
using Graphs: AbstractGraph, outneighbors, inneighbors, adjacency_matrix, degree, has_self_loops, is_directed
import Flux
using Flux: batch
import NearestNeighbors
import NNlib
import StatsBase
import KrylovKit
using ChainRulesCore
using LinearAlgebra, Random, Statistics
import MLUtils
using MLUtils: getobs, numobs
using SuiteSparseGraphBLAS
include("gnngraph.jl")
export GNNGraph,
node_features,
edge_features,
graph_features
include("query.jl")
export adjacency_list,
edge_index,
get_edge_weight,
graph_indicator,
has_multi_edges,
is_directed,
is_bidirected,
normalized_laplacian,
scaled_laplacian,
# from Graphs
adjacency_matrix,
degree,
has_self_loops,
has_isolated_nodes,
inneighbors,
outneighbors
include("transform.jl")
export add_nodes,
add_edges,
add_self_loops,
getgraph,
negative_sample,
rand_edge_split,
remove_self_loops,
remove_multi_edges,
set_edge_weight,
to_bidirected,
to_unidirected,
# from Flux
batch,
unbatch,
# from SparseArrays
blockdiag
include("generate.jl")
export rand_graph,
knn_graph,
radius_graph
include("sampling.jl")
export sample_neighbors
include("operators.jl")
# Base.intersect
include("convert.jl")
include("utils.jl")
include("gatherscatter.jl")
# _gather, _scatter
end #module