M
Modular•5mo ago
Jack Clayton

Basalt: ML Framework

GitHub
GitHub - basalt-org/basalt: A Machine Learning framework from scrat...
A Machine Learning framework from scratch in Pure Mojo 🔥 - basalt-org/basalt
22 Replies
Jack Clayton
Jack Clayton•4mo ago
by @benny, @Stijn, @NKspartan, and @fnands
fnands
fnands•4mo ago
Well, mostly the first three with some small contributions by me 🙃
benny
benny•4mo ago
making steady progress towards another release, we are always looking for more people interested in helping move the project along :)
Yosi Frost
Yosi Frost•4mo ago
Great. Working on implementing some activation functions (draft PR open). Are there any I should prioritize? Also, is there currently a place to write the tests for the backwards passes of the activation functions?
benny
benny•4mo ago
Awesome @Yosi Frost I dont think we have any priorities with specific activation functions, whatever you can think of works. Tests for activation fuctions should go in /tests/mojo/test_activations.mojo
Yosi Frost
Yosi Frost•4mo ago
Great! Is tests/test_activations.mojo just for forwards or does it also include tests for the backwards pass?
benny
benny•4mo ago
it should also include backwards tests
Yosi Frost
Yosi Frost•4mo ago
Ok. I must have missed them. Will write those tests as well. Thank you!
Josiah
Josiah•4mo ago
I'm interested in dataloading and made a comment in https://github.com/basalt-org/basalt/issues/90#issuecomment-2127550998. I agree with what as posted on one of the other channels about not licking the cookie though. I'm curious what frameworks people have used for dataloading / what they like / dont like. To me I think mojo still needs Iterable / Gettable traits to make transforms/pipes possible to even prototype.
benny
benny•4mo ago
you could easily make both of those traits now with current Mojo, im not sure I fully understand the question
Josiah
Josiah•4mo ago
I think there are still features needed (?). I saw this thread: https://discord.com/channels/1087530497313357884/1224434323193594059/1238338296699158598 which gave me the impression its not possible yet
benny
benny•4mo ago
while that is correct, because of how Basalt works right now, dtype is accessible for any module, so you don’t need a generic trait to return a Scalar[dtype] but i’m not sure if this would change for your use case
pedro
pedro•4mo ago
Out of curiosity, is the source code for basalt based on any other frameworks or whitepapers or is it just from first principles? I noticed it has vague similarities to tinygrad but not enough to be recognizable as a port
Stijn
Stijn•4mo ago
There are definitely some influences from other frameworks, but it's also very much tailored to whatever Mojo allows. You'll should recognize stuff from pytorch, tinygrad, mlx. Those are probably the ones that are most looked at
benny
benny•4mo ago
Giving a talk at todays community meeting if anyone is interested, the video will be posted after :)
Want results from more Discord servers?
Add your server