tangent
pennylane
tangent | pennylane | |
---|---|---|
2 | 2 | |
2,280 | 2,117 | |
- | 1.6% | |
10.0 | 9.8 | |
over 1 year ago | 2 days ago | |
Python | Python | |
Apache License 2.0 | 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.
tangent
-
[D] How AD is implemented in JAX/Tensorflow/Pytorch?
Thank you so much for the detail explaination! This remind me of tangent, an abandoned (?) SCT built by google couple of years ago. https://github.com/google/tangent
-
Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia
No, autograd acts similarly to PyTorch in that it builds a tape that it reverses while PyTorch just comes with more optimized kernels (and kernels that act on GPUs). The AD that I was referencing was tangent (https://github.com/google/tangent). It was an interesting project but it's hard to see who the audience is. Generating Python source code makes things harder to analyze, and you cannot JIT compile the generated code unless you could JIT compile Python. So you might as well first trace to a JIT-compliable sublanguage and do the actions there, which is precisely what Jax does. In theory tangent is a bit more general, and maybe you could mix it with Numba, but then it's hard to justify. If it's more general then it's not for the standard ML community for the same reason as the Julia tools, but then it better do better than the Julia tools in the specific niche that they are targeting. Jax just makes much more sense for the people who were building it, it chose its niche very well.
pennylane
What are some alternatives?
autograd - Efficiently computes derivatives of numpy code.
qiskit-ibm-provider - Qiskit Provider for accessing the IBM Quantum Services: Online Systems and Simulators
ADCME.jl - Automatic Differentiation Library for Computational and Mathematical Engineering
Cirq - A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
machine_learning_refined - Notes, examples, and Python demos for the 2nd edition of the textbook "Machine Learning Refined" (published by Cambridge University Press).
d2l-en - Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge.
foolbox - A Python toolbox to create adversarial examples that fool neural networks in PyTorch, TensorFlow, and JAX
ivy - The Unified Machine Learning Framework [Moved to: https://github.com/unifyai/ivy]
qiskit-ibm-runtime - IBM Client for Qiskit Runtime
jaxopt - Hardware accelerated, batchable and differentiable optimizers in JAX.
mitiq - Mitiq is an open source toolkit for implementing error mitigation techniques on most current intermediate-scale quantum computers.
QMLDocker - A docker container for quantum machine learning (QML) research