thinc
shumai
thinc | shumai | |
---|---|---|
4 | 15 | |
2,796 | 1,122 | |
0.5% | 0.2% | |
7.6 | 2.2 | |
6 days ago | 10 months ago | |
Python | TypeScript | |
MIT License | MIT License |
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.
thinc
-
JAX – NumPy on the CPU, GPU, and TPU, with great automatic differentiation
Agree, though I wouldn’t call PyTorch a drop-in for NumPy either. CuPy is the drop-in. Excepting some corner cases, you can use the same code for both. Thinc’s ops work with both NumPy and CuPy:
https://github.com/explosion/thinc/blob/master/thinc/backend...
-
Tinygrad: A simple and powerful neural network framework
I love those tiny DNN frameworks, some examples that I studied in the past (I still use PyTorch for work related projects) :
thinc.by the creators of spaCy https://github.com/explosion/thinc
-
good examples of functional-like python code that one can study?
thinc - defining neural nets in functional way jax, a new deep learning framework puts emphasis on functions rather than tensors, I've tested it for a couple of applications and it's really cool, you can write stuff like you'd write math expressions in papers using numpy. That speeds up development significantly, and makes code much more readable
- thinc - A refreshing functional take on deep learning, compatible with your favorite libraries
shumai
-
PyTorch Primitives in WebGPU for the Browser
https://github.com/tensorflow/tfjs/tree/master/tfjs-backend-...
([...], tflite-support, tflite-micro)
From facebookresearch/shumai (a JS tensor library) https://github.com/facebookresearch/shumai/issues/122 :
> It doesn't make sense to support anything besides WebGPU at this point. WASM + SIMD is around 15-20x slower on my machine[1]. Although WebGL is more widely supported today, it doesn't have the compute features needed for efficient modern ML (transformers etc) and will likely be a deprecated backend for other frameworks when WebGPU comes online.
tensorflow rust has a struct.Tensor:
-
Why do people curse JS so much, but also say it's better than Python
JS for ML actually does exist https://github.com/facebookresearch/shumai
-
Breaking Up with Python
> It's really a shame that data science, ML, and notebooks are so wrapped up in it. Otherwise we could jettison the whole thing into space
Although I personally feel Python has its place, I contribute to a project that hopes to diversify the ML/scientific computing space with a TypeScript tensor lib called Shumai: https://github.com/facebookresearch/shumai
-
Tinygrad: A simple and powerful neural network framework
Doesn’t really matter for large batch/large model training on GPUs that don’t need much coordination.
But Python speed is one of the main motivations for a JS/TS based ML lib I’m working on: https://github.com/facebookresearch/shumai
-
[D] Using JavaScript for ML Training/Research (not in the browser)
As a hedge against CPython never becoming fast, we're creating a project called Shumai that attempts to deeply integrate with a new JavaScript runtime (Bun[3]).
-
Python 3.11 is much faster than 3.8
You can expose objects. Here's how it is done in Bun: https://github.com/facebookresearch/shumai/blob/main/shumai/...
We've been using this feature heavily in Shumai.
I think you are vastly overestimating the complexity associated with this (user exposed ref-counting/garbage collection) and may not be totally up to date on what's implemented.
- Shumai: Fast Differentiable Tensor Library in TypeScript with Bun and Flashlight
- Shumai: A fast differentiable tensor library for research in TypeScript and JavaScript
-
7% Speedup from Switch to and
This thought is pretty much the exact motivation behind a recent effort I’m helping out with https://github.com/facebookresearch/shumai
What are some alternatives?
quantulum3 - Library for unit extraction - fork of quantulum for python3
rosettaboy - A gameboy emulator in several different languages
jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
jittor - Jittor is a high-performance deep learning framework based on JIT compiling and meta-operators.
horovod - Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
openpilot - openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for 250+ supported car makes and models.
extending-jax - Extending JAX with custom C++ and CUDA code
devdocs - API Documentation Browser
dm-haiku - JAX-based neural network library
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
AIF360 - A comprehensive set of fairness metrics for datasets and machine learning models, explanations for these metrics, and algorithms to mitigate bias in datasets and models.
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration