micrograd VS dylint

Compare micrograd vs dylint and see what are their differences.

micrograd

A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API (by karpathy)

dylint

Run Rust lints from dynamic libraries (by trailofbits)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
micrograd dylint
22 7
8,273 337
- 2.4%
0.0 9.7
5 days ago 6 days ago
Jupyter Notebook Rust
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

micrograd

Posts with mentions or reviews of micrograd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-20.
  • Micrograd-CUDA: adapting Karpathy's tiny autodiff engine for GPU acceleration
    3 projects | news.ycombinator.com | 20 Mar 2024
    I recently decided to turbo-teach myself basic cuda with a proper project. I really enjoyed Karpathy’s micrograd (https://github.com/karpathy/micrograd), so I extended it with cuda kernels and 2D tensor logic. It’s a bit longer than the original project, but it’s still very readable for anyone wanting to quickly learn about gpu acceleration in practice.
  • Stuff we figured out about AI in 2023
    5 projects | news.ycombinator.com | 1 Jan 2024
    FOr inference, less than 1KLOC of pure, dependency-free C is enough (if you include the tokenizer and command line parsing)[1]. This was a non-obvious fact for me, in principle, you could run a modern LLM 20 years ago with just 1000 lines of code, assuming you're fine with things potentially taking days to run of course.

    Training wouldn't be that much harder, Micrograd[2] is 200LOC of pure Python, 1000 lines would probably be enough for training an (extremely slow) LLM. By "extremely slow", I mean that a training run that normally takes hours could probably take dozens of years, but the results would, in principle, be the same.

    If you were writing in C instead of Python and used something like Llama CPP's optimization tricks, you could probably get somewhat acceptable training performance in 2 or 3 KLOC. You'd still be off by one or two orders of magnitude when compared to a GPU cluster, but a lot better than naive, loopy Python.

    [1] https://github.com/karpathy/llama2.c

    [2] https://github.com/karpathy/micrograd

  • Writing a C compiler in 500 lines of Python
    4 projects | news.ycombinator.com | 4 Sep 2023
    Perhaps they were thinking of https://github.com/karpathy/micrograd
  • Linear Algebra for Programmers
    4 projects | news.ycombinator.com | 1 Sep 2023
  • Understanding Automatic Differentiation in 30 lines of Python
    9 projects | news.ycombinator.com | 24 Aug 2023
  • Newbie question: Is there overloading of Haskell function signature?
    1 project | /r/haskell | 26 May 2023
    I was (for fun) trying to recreate micrograd in Haskell. The ideia is simple:
  • [D] Backpropagation is not just the chain-rule, then what is it?
    2 projects | /r/MachineLearning | 18 May 2023
    Check out this repo I found a few years back when I was looking into understanding pytorch better. It's basically a super tiny autodiff library that only works on scalars. The whole repo is under 200 lines of code, so you can pull up pycharm or whatever and step through the code and see how it all comes together. Or... you know. Just read it, it's not super complicated.
  • Neural Networks: Zero to Hero
    5 projects | news.ycombinator.com | 5 Apr 2023
    I'm doing an ML apprenticeship [1] these weeks and Karpathy's videos are part of it. We've been deep down into them. I found them excellent. All concepts he illustrates are crystal clear in his mind (even though they are complicated concepts themselves) and that shows in his explanations.

    Also, the way he builds up everything is magnificent. Starting from basic python classes, to derivatives and gradient descent, to micrograd [2] and then from a bigram counting model [3] to makemore [4] and nanoGPT [5]

    [1]: https://www.foundersandcoders.com/ml

    [2]: https://github.com/karpathy/micrograd

    [3]: https://github.com/karpathy/randomfun/blob/master/lectures/m...

    [4]: https://github.com/karpathy/makemore

    [5]: https://github.com/karpathy/nanoGPT

  • Rustygrad - A tiny Autograd engine inspired by micrograd
    2 projects | /r/rust | 7 Mar 2023
    Just published my first crate, rustygrad, a Rust implementation of Andrej Karpathy's micrograd!
  • Hey Rustaceans! Got a question? Ask here (10/2023)!
    6 projects | /r/rust | 6 Mar 2023
    I've been trying to reimplement Karpathy's micrograd library in rust as a fun side project.

dylint

Posts with mentions or reviews of dylint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-18.
  • rustc-plugin: A framework for writing plugins that integrate with the Rust compiler
    6 projects | /r/rust | 18 Apr 2023
    There is also https://github.com/trailofbits/dylint for writing custom lints.
  • Hey Rustaceans! Got a question? Ask here (10/2023)!
    6 projects | /r/rust | 6 Mar 2023
    Apart from clippy (which uses rustc-internal APIs), there are two other projects which can be used to implement lints: rust-analyzer can be extended with more diagnostics, and dylint provides an interface to run custom lints for Rust.
  • Dylint: Tool for running Rust lints from dynamic libraries
    1 project | news.ycombinator.com | 17 Jan 2023
  • Programming Breakthroughs We Need
    17 projects | news.ycombinator.com | 17 Aug 2022
    RE: Program is a model

    There are some more advanced refactoring tools now available. These tools enable you to write code to detect bad code patterns and even automatically fix them. You can use them to write one-off transformations of code too. Rust has Dylint [1] and C# has Roslyn Analyzers [2]. Facebook has tooling [3] that helps writing CodeMods, enabling authors to generate changes for thousands of files at a time.

    The thing I really would like to see is a smarter CI system. Caching of build outputs, so you don't have to rebuild the world from scratch every time. Distributed execution of tests and compilation, so you are not bottle-necked by one machine. Something that keeps track of which tests are flaky and which are broken on master, so you don't have to diagnose spurious build failures. Something that only runs the test that transitively depend on the code you change. Automatic bisecting of errors to the offending commit.

    [1] https://github.com/trailofbits/dylint

    [2] https://docs.microsoft.com/visualstudio/code-quality/roslyn-...

    [3] one example: https://github.com/facebook/jscodeshift

  • Rust code quality and vulnerability scan tool
    7 projects | /r/rust | 1 May 2022
    If you're looking for something like clippy but with custom lints, there's also dylint -- it is clippy, but with support for running dynamically loaded lints across multiple versions of Rust.
  • Missing tooling in Rust?
    4 projects | /r/rust | 11 Feb 2022
    You might find dylint useful! It's exactly that: a tool to run custom clippy lints.
  • RiB Newsletter #27
    5 projects | /r/rust | 1 Sep 2021
    Dylint. A tool for running Rust lints from dynamic libraries.

What are some alternatives?

When comparing micrograd and dylint you can also consider the following projects:

deepnet - Educational deep learning library in plain Numpy.

compiler-solidity - The zkEVM Solidity compiler.

tinygrad - You like pytorch? You like micrograd? You love tinygrad! ❤️ [Moved to: https://github.com/tinygrad/tinygrad]

mina-vrf-rs

deeplearning-notes - Notes for Deep Learning Specialization Courses led by Andrew Ng.

stateright - A model checker for implementing distributed systems.

ML-From-Scratch - Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

solana - Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.

NNfSiX - Neural Networks from Scratch in various programming languages

remote-apis - An API for caching and execution of actions on a remote system.

yolov7 - Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

rust-analyzer - A Rust compiler front-end for IDEs