furo
equinox
furo | equinox | |
---|---|---|
7 | 31 | |
2,495 | 1,846 | |
- | - | |
8.6 | 9.2 | |
2 days ago | 1 day ago | |
Sass | Python | |
MIT License | Apache License 2.0 |
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.
furo
-
Can someone help me understand "documentation generators" and the purpose of Sphinx?
Sphinx has more and in my opinion better themes (especially the popular Furo them). I also think it's better for handling large and complex sites. It's way more extensible. That there are far more Sphinx users means that you're more likely to have community support if/when you run into issues.
-
Can you select themes for rustdoc?
My company uses sphinx, in particular the furo theme: https://github.com/pradyunsg/furo. I'd like to use something like this to start documenting our Rust repositories. Is this possible on stable?
-
[D] What JAX NN library to use?
On another note, what did you dislike in Sphinx ? I found it pretty easy to work with until now and there are quite nice themes, like Furo (https://github.com/pradyunsg/furo), which is actually pretty similar to your current docs theme. I used it recently for one of my projects (see https://francois-rozet.github.io/piqa/piqa.psnr.html).
-
New Sphinx theme
reminds me a lot of Furo which is used by big names such as urllib3, pip, attrs, psycopg3, black
- Furo: A clean customizable documentation theme for Sphinx
- Technical documentation that just works
-
Furo – A clean customizable documentation theme for Sphinx
This theme was created by one of the maintainers of pip, which is where I first saw it (https://pip.pypa.io/en/stable/). Here are some of the things I like about it:
- Well-chosen, proportionate font sizes and spacing.
- Table of contents sidebars for both the current page and the whole documentation site.
- Fully responsive: sidebars disappear in narrow windows or small screens, but can still be popped out.
- Clean color scheme with good contrast, and full support for dark mode (see screenshot at https://github.com/pradyunsg/furo/blob/main/README.md).
equinox
-
Ask HN: What side projects landed you a job?
I wrote a JAX-based neural network library (Equinox [1]) and numerical differential equation solving library (Diffrax [2]).
At the time I was just exploring some new research ideas in numerics -- and frankly, procrastinating from writing up my PhD thesis!
But then one of the teams at Google starting using them, so they offered me a job to keep developing them for their needs. Plus I'd get to work in biotech, which was a big interest of mine. This was a clear dream job offer, so I accepted.
Since then both have grown steadily in popularity (~2.6k GitHub stars) and now see pretty widespread use! I've since started writing several other JAX libraries and we now have a bit of an ecosystem going.
[1] https://github.com/patrick-kidger/equinox
-
[P] Optimistix, nonlinear optimisation in JAX+Equinox!
The elevator pitch is Optimistix is really fast, especially to compile. It plays nicely with Optax for first-order gradient-based methods, and takes a lot of design inspiration from Equinox, representing the state of all the solvers as standard JAX PyTrees.
-
JAX – NumPy on the CPU, GPU, and TPU, with great automatic differentiation
If you like PyTorch then you might like Equinox, by the way. (https://github.com/patrick-kidger/equinox ; 1.4k GitHub stars now!)
- Equinox: Elegant easy-to-use neural networks in Jax
- Show HN: Equinox (1.3k stars), a JAX library for neural networks and sciML
-
Pytrees
You're thinking of `jax.closure_convert`. :)
(Although technically that works by tracing and extracting all constants from the jaxpr, rather than introspecting the function's closure cells -- it sounds like your trick is the latter.)
When you discuss dynamic allocation, I'm guessing you're mainly referring to not being able to backprop through `jax.lax.while_loop`. If so, you might find `equinox.internal.while_loop` interesting, which is an unbounded while loop that you can backprop through! The secret sauce is to use a treeverse-style checkpointing scheme.
https://github.com/patrick-kidger/equinox/blob/f95a8ba13fb35...
-
Writing Python like it’s Rust
I'm a big fan of using ABCs to declare interfaces -- so much so that I have an improved abc.ABCMeta that also handles abstract instance variables and abstract class variables: https://github.com/patrick-kidger/equinox/blob/main/equinox/_better_abstract.py
-
[D] JAX vs PyTorch in 2023
For the daily research, I use Equinox (https://github.com/patrick-kidger/equinox) as a DL librarry in JAX.
- [Machinelearning] [D] État actuel de JAX vs Pytorch?
-
Training Deep Networks with Data Parallelism in Jax
It sounds like you're concerned about how downstream libraries tend to wrap JAX transformations to handle their own thing? (E.g. `haiku.grad`.)
If so, then allow me to make my usual advert here for Equinox:
https://github.com/patrick-kidger/equinox
This actually works with JAX's native transformations. (There's no `equinox.vmap` for example.)
On higher-order functions more generally, Equinox offers a way to control these quite carefully, by making ubiquitous use of callables that are also pytrees. E.g. a neural network is both a callable in that it has a forward pass, and a pytree in that it records its parameters in its tree structure.
What are some alternatives?
mkdocs-material - Documentation that simply works
flax - Flax is a neural network library for JAX that is designed for flexibility.
sphinx - The Sphinx documentation generator
dm-haiku - JAX-based neural network library
mkdocstrings - :blue_book: Automatic documentation from sources, for MkDocs.
torchtyping - Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
vscode-theme-alabaster-dark - Dark version of alabaster ported from https://github.com/tonsky/sublime-scheme-alabaster
treex - A Pytree Module system for Deep Learning in JAX
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
extending-jax - Extending JAX with custom C++ and CUDA code
PVEDiscordDark - A Discord-like dark theme for the Proxmox Web UI.
diffrax - Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/