FluxML / GeometricFlux.jl

Geometric Deep Learning for Flux
https://fluxml.ai/GeometricFlux.jl/stable/
MIT License
348 stars 30 forks source link

homogenize forward pass for all layers #203

Closed CarloLucibello closed 3 years ago

CarloLucibello commented 3 years ago

After this all layers will have the following forward methods

(l::GraphConv)(fg::FeaturedGraph) = FeaturedGraph(fg.graph, nf = l(fg, node_feature(fg)))
(l::GraphConv)(x::AbstractMatrix) = l(l.fg, x)

function (gc::GraphConv)(fg::FeaturedGraph, x::AbstractMatrix)
    ...
    return x
end

Also, drop MetaGraph and AbstractGraph support in favour of explicit conversion to FeaturedGraph (see #201).

Gpu support is currently very broken, lot's of methods here and in other packages (e.g. GraphLaplaciancs) are not gpu friendly. I'd like to redesign the interface before tackling the gpu problem though.

Fix #201

CarloLucibello commented 3 years ago

This should be ready for review

yuehhua commented 3 years ago

Thank you so much!