Torch.jl
LibTIFF.jl
Torch.jl | LibTIFF.jl | |
---|---|---|
6 | 1 | |
205 | 0 | |
2.0% | - | |
4.2 | 6.5 | |
12 days ago | 6 months ago | |
Julia | Julia | |
GNU General Public License v3.0 or later | 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.
Torch.jl
- Julia 1.10 Released
- Julia 1.9: A New Era of Performance and Flexibility
- How usable is Julia for Natural Language Processing Machine learning?
-
Does Julia Have a Chance to Overthrown Python in the Machine Learning Industry?
For frontends Python has quite some head-start. In principle it would be possible to write Julia frond-ends to existing ML libraries (written e.g. in C), for example https://github.com/FluxML/Torch.jl , but the advantages over Python frontends would be very limited. Only a front-to-back Julia implementation leverages most of the language advantages like composibility and flexibility.
-
Julia: faster than Fortran, cleaner than Numpy
PyTorch for example is a C++ library with a Python user interface, see e.g. the language shares in GitHub (https://github.com/pytorch/pytorch ). There is also a Julia binding for Torch (https://github.com/FluxML/Torch.jl), but I do not know how up-to-date it is.
LibTIFF.jl
-
Julia 1.10 Released
Are there solid C interfaces that can be used?
A large part of why I started using Julia is because calling into other languages through the C FFI is pretty easy and efficient. Most of the wrappers are a single line. If there is not existing driver support, I would pass the C headers through Clang.jl, which automatically wraps the C API in a C header.
https://github.com/JuliaInterop/Clang.jl
I most recently did this with libtiff. Here is the Clang.jl code to generate the bindings. It's less than 30 lines of sterotypical code.
https://github.com/mkitti/LibTIFF.jl/tree/main/gen
The generated bindings with a few tweaks is here:
https://github.com/mkitti/LibTIFF.jl/blob/main/src/LibTIFF.j...
What are some alternatives?
Flux.jl - Relax! Flux is the ML library that doesn't make you tensor
threads - Threads for Lua and LuaJIT. Transparent exchange of data between threads is allowed thanks to torch serialization.
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
astropy - Astronomy and astrophysics core library
gluon-nlp - NLP made easy
Clang.jl - C binding generator and Julia interface to libclang
SciPyDiffEq.jl - Wrappers for the SciPy differential equation solvers for the SciML Scientific Machine Learning organization
Lux.jl - Explicitly Parameterized Neural Networks in Julia
JuliaTorch - Using PyTorch in Julia Language
PyCallChainRules.jl - Differentiate python calls from Julia