M
Modular•2mo ago
HALFPOTATO

Autodiff For Mojo

Is there some kind of way to autodiff through functions in Mojo? This is very convenient in my line of work.
5 Replies
benny
benny•2mo ago
#Basalt: ML Framework and #Endia are the two closest I believe
TilliFe
TilliFe•2mo ago
I agree.
Jack Chou
Jack Chou•2mo ago
What's the differences between Endia and Pytorch?
benny
benny•2mo ago
@TilliFe ^ I mean the biggest different is PyTorch is coded in Python (With some C++ I believe), and Endia is pure Mojo code You will see variations in what features are supported, PyTorch definitely having more, but also how often they are updated and general support in the Mojo ecosystem (Endia will likely win on that metric) If you want stability and to be able to switch back to python, id stick with PyTorch. If you are willing to sacrafice a bit of safety and documentation for speed and being on the bleeding edge of tech, go with Endia Basalt isn't being super actively maintained right now (my bad lol), so im not sure if it works with latest Mojo
TilliFe
TilliFe•2mo ago
Hi, yeah usability-wise (and also performance-wise) definitely still a ton of difference, since Endia is in very active development. Endia shall soon become very similar to PyTorch, however the goal is to make - what Pytorch currently has in its functional Module - a true first class citzen in Endia. If this will work as I envision, Endia can also be used like a more functional ML framwork, similar to JAX. This would mean people with different philosophies of coding could come together and use just one engine seamlessly, which would be pretty nice. As Benny mentioned, implementation-wise, Endia is completely different to any other ML framework, since it is written in Mojo. A single layer stack basically. Chears 🧙
Want results from more Discord servers?
Add your server