Hi all. I don’t post on here very often, considering that I’m just a hobbyist and not a highly trained professional like most folks on here, but I am a Julia enthusiast, and so when I can I like to share what I’ve worked on in my spare time.
I recently decided to publish a few blogs, one of which describes my experience learning Julia and using it to implement a custom MLP. Yeah, I know. The world has moved well beyond MLP’s into LLM’s, etc. The blog explains why I chose to implement an MLP, so I won’t do that here. So, anyway, if anyone is interested in what is capable with Julia even in the hands of someone who isn’t a trained professional, feel free to check out my blog post.
There are three other blog posts posted related to the first one, one of which describes the creation of my own personal image processing library for data augmentation, while the other two are mostly benchmarks of the functions in this library. I did reference two existing Julia image processing libraries, and I benchmarked my code against the functions in these libraries. I hope I wasn’t out of line by naming them in the posts, since my intention was solely to do a comparison of the various functions.
Anyway, if anyone reads my blogs, I hope they get something out of them. Take care.
Hi, thanks for sharing your experience. I had a similar journey with similar goals when preparing a course on Machine Learning & Deep Learning. Ultimately, I found Julia very nice for this as it made it possible to have Julia code and math in the slides align very neatly. The result GitHub - rajgoel/course-machine-learning · GitHub may be of interest to you. After MLP from scratch, the course however, switches to Flux.jl.
Thanks for the feedback, Asvin. Kind of wish I had the level of understanding of the math of NNs, etc., that you do, but I maybe just have a bachelor’s level understanding, if that. But what I worked out and implemented in code allowed me to eventually get a pretty high accuracy on the MNIST Test dataset, so I’m pretty happy with what I was able to accomplish with the understanding that I have. I’ve considered publishing a blog about my understanding of the math behind NNs, but I haven’t gone through with it because I don’t want to lead people astray by publishing bogus math. I am curious about Flux, though. I’ve never used it, but I’ve always wondered what its performance was like. For example, I gave some numbers in my blog on how fast my code can complete training for a single epoch on the unaugmented MNIST dataset. I’ve always wondered how Flux compares, though not enough to install it and test it.
Btw. my course materials include a few (non-optimised) sample implementations of Vanilla FFN and with Flux. Being new to both Julia and ML, I found results surprisingly good for an implementation aiming to look like the math.
Where is the “thumbs up” button?! Anyway, that’s pretty cool. I’m really pretty amazed at what’s possible with this language, even for a non-professional like me.