Skip to content

Commit 361f9ca

Browse files
committed
Update to v0.6.1
1 parent 7e19a7b commit 361f9ca

File tree

3 files changed

+42
-5
lines changed

3 files changed

+42
-5
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.6.1]
6+
7+
- Update to CUDA 1.2 and Flux 0.11
8+
- Refactor graph-related API
9+
- Improve learning rate in example
10+
511
## [0.6.0]
612

713
- Rewrite graph network `GraphNet` and message passing `MessagePassing` framework

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "GeometricFlux"
22
uuid = "7e08b658-56d3-11e9-2997-919d5b31e4ea"
33
authors = ["Yueh-Hua Tu <a504082002@gmail.com>"]
4-
version = "0.6.0"
4+
version = "0.6.1"
55

66
[deps]
77
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"

README.md

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,42 @@ Suggestions, issues and pull requsts are welcome.
2323

2424
## Features
2525

26-
Construct layers from adjacency matrix or graph (maybe extend to other structures).
27-
Input features (including vertex, edge or graph features) of neural network may not need a structure or type.
28-
Labels or features for output of classification or regression are part of training data, they may not need a specific structure or type, too.
26+
* Extend Flux deep learning framework in Julia and compatible with Flux layers.
27+
* Support of CUDA GPU with CUDA.jl
28+
* Integrate with existing JuliaGraphs ecosystem
29+
* Support generic graph neural network architectures
30+
* Variable graph inputs are supported. You use it when diverse graph structures are prepared as inputs to the same model.
31+
* Integrate GNN benchmark datasets (WIP)
2932

30-
* **NOTICE**: Scatter operations on CUDA are only supported in v1.3 (due to new feature in CUDAnative v2.8 which only supports julia v1.3). CPU version scatter operations are always available.
33+
## Graph convolutional layers
34+
35+
Construct GCN layer:
36+
37+
```
38+
graph = # can be adj_mat, adj_list, simple_graphs...
39+
GCNConv([graph, ]input_dim=>output_dim, relu)
40+
```
41+
42+
## Use it as you use Flux
43+
44+
```
45+
model = Chain(GCNConv(g, 1024=>512, relu),
46+
Dropout(0.5),
47+
GCNConv(g, 512=>128),
48+
Dense(128, 10),
49+
softmax)
50+
## Loss
51+
loss(x, y) = logitcrossentropy(model(x), y)
52+
accuracy(x, y) = mean(onecold(model(x)) .== onecold(y))
53+
54+
## Training
55+
ps = Flux.params(model)
56+
train_data = [(train_X, train_y)]
57+
opt = ADAM(0.01)
58+
evalcb() = @show(accuracy(train_X, train_y))
59+
60+
Flux.train!(loss, ps, train_data, opt, cb=throttle(evalcb, 10))
61+
```
3162

3263
## Benchmark
3364

0 commit comments

Comments
 (0)