SwiftGraph (I leave the fastnetwork name for the pros)

Hi,

Ben here and I am fascinated about using graphs and networks, network theory in data science.

The problem is running algorithms on large graphs is slow.

And I want to develop a Swift Package, similar to the python NetworkX package to help integrate graph into machine learning workflows, and use them in the data discovery, and the crown jewel will be the GTNs, (Graph Transformation Networks)

What do you guys think?

Go for it! :slight_smile:

2 Likes

And do look at graph databases like Neo4j.

@ctwardy I am Neo4j certified :slight_smile: :slight_smile: so that should not be a problem :slight_smile:

2 Likes

Explorations into graphs in Swift sounds like a great area to research. I’ll recommend the Swift Algorithm Club (founded by friend of the forum Matthijs, and maintained by the Ray Wenderlich organization) for examples of general Swift data structures and algorithms that might be useful.

As you start to apply Swift differentiable programming to this, the Swift for TensorFlow team would be glad to answer any questions you might have. Feel free to ask here or in our mailing list. Combining logic like graph traversal with machine learning is one area that we feel Swift could be extremely well suited for.

6 Likes

Have you tried cuGraph - part of the Rapidsai family?

cuGraph aims to provide a NetworkX-like API that will be familiar to data scientists, so they can now build GPU-accelerated workflows more easily.

I haven’t had a chance for a deep dive, but some of the sample tutorials were screaming fast.

1 Like

Great idea. I’ve been meaning to check out the CSIRO’s project at some point. I haven’t delved into this area yet. Perhaps this is of interest to you.

Woow, this is amazing, thank you for the links and the support!

I’ve also been looking into the idea. Chapter 4 of this book is actually goes through implementation. On the other hand, pytorch has a dynamic computation graph. Check this out https://towardsdatascience.com/getting-started-with-pytorch-part-1-understanding-how-automatic-differentiation-works-5008282073ec

1 Like

Yes I am aware of this field, the reason why I want to go on the Swift way is the potential speed increase, so at the end a person from africe with an old mac book can do and free tier AWS, or GCP credit can do more.

1 Like

Maybe check Apple Core ML framework for it?