-
Notifications
You must be signed in to change notification settings - Fork 12
/
README
89 lines (71 loc) · 3.79 KB
/
README
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
80
81
82
83
84
85
86
87
88
89
Framework: GraphFlow
Author: Machine Learning Group of UChicago
Institution: Department of Computer Science, The University of Chicago
Copyright 2017 (c) UChicago. All rights reserved.
Description
-----------
GraphFlow is a Deep Learning framework in C++/CUDA that supports symbolic/automatic differentiation, dynamic computation graphs, tensor/matrix operations accelerated by GPU and implementations of various state-of-the-art graph neural networks: Covariant Compositional Networks [1] and many of its variants, Neural Graph Fingerprint [2], Learning Convolutional Neural Networks For Graphs [3], Gated Graph Sequence Neural Networks [4], Graph Convolution Networks [5], etc. In addition, GraphFlow also allows users to easily create the implementations of many other Machine Learning models: Linear regression, Multi-layer Perceptron, Autoencoder, Convolutional Neural Network (for Computer Vision), Long Short-Term Memory [6] and Gated Recurrent Units [7] (for Language Modelling), etc. Please check the tests/examples for the detailed API.
Structure
---------
GraphFlow/ and GraphFlow_32bit/ are CPU-bound frameworks, can be compiled by using [g++ -std=c++11 -pthread < Program >]. GraphFlow_gpu/ and GraphFlow_gpu_32bit/ are GPU-bound frameworks, can be compiled by using [nvcc -std=c++11 < Program >].
Main Contributor
----------------
Name: Hy Truong Son
Advisor: Prof. Risi Kondor
Position: PhD student in Machine Learning
Email: [email protected]
Website: people.inf.elte.hu/hytruongson/
Bugs Report
-----------
Please contact emails [email protected] or [email protected] for any bugs that you found. Thank you very much for your support!
Reference
---------
[1] Covariant Compositional Networks For Learning Graphs [Risi et al., 2017]
[2] Convolutional Networks on Graphs for Learning Molecular Fingerprints [Duvenaud et al., 2015]
[3] Learning Convolutional Neural Networks for Graphs [Niepert et al., 2016]
[4] Gated Graph Sequence Neural Networks [Li et al., 2016]
[5] Semi-Supervised Classification with Graph Convolutional Networks [Kipf et al., 2017]
[6] Long Short-Term Memory [Schmidhuber et al., 1997]
[7] Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling [Bengio et al., 2014]
[8] Adam: A Method for Stochastic Optimization [Kingma et al., 2015]
Tests/Examples
--------------
1. First-order Covariant Compositional Networks (CCN) [1] and its variants:
tests/test_CCN_1D.cpp
tests/test_SMP_theta*.cpp
tests/test_SMP_1D*.cpp
tests/test_Unrestricted_SMP_1D*.cpp
SMP = Steerable Message Passing (This is another name of CCN that we used internally).
2. Second-order Covariant Compositional Networks (CCN) [2] and its variants:
tests/test_SMP_beta*.cpp
tests/test_SMP_beta*.cu
tests/test_SMP_gamma*.cpp
tests/test_SMP_omega*.cpp
tests/test_SMP_omega*.cu
tests/test_SMP_sigma*.cpp
tests/test_SMP_2D*.cpp
tests/test_Unrestricted_SMP_2D*.cpp
SMP = Steerable Message Passing (This is another name of CCN that we used internally).
3. Neural Graph Fingerprint [2] and Graph Convolution Networks [5]:
tests/test_GCN*.cpp
4. Gated Sequence Neural Networks [4]:
tests/test_GRU_GCN*.cpp
5. Learning Convolutional Neural Networks [3]:
tests/test_LCNN.cpp
6. Convolutional Neural Networks (on MNIST and CIFAR-10):
tests/test_CNN*.cpp
7. Long Short-Term Memory [6] and Gated Recurrent Units [7] (for Language Modelling):
tests/test_LSTM.cpp
tests/test_GRU.cpp
8. AdaDelta, Adam, AdaMax [8] optimizations (on MNIST):
tests/test_AdaDelta.cpp
tests/test_Adam.cpp
tests/test_AdaMax.cpp
9. Autoencoder and Multi-layer Perceptron (on MNIST):
tests/test_autoencoder.cpp
tests/test_mlp.cpp
10. Tensor Contraction [1] and Matrix Multiplication accelerated by GPU:
tests/test_RisiContraction_18_gpu.cu
tests/test_MatMul_gpu.cu
CPU-bound (with multi-threading):
tests/test_RisiContraction*.cpp