miniF2F
hasktorch
miniF2F  hasktorch  

4  15  
262  1,026  
3.9%  1.9%  
0.0  7.2  
10 months ago  8 days ago  
ObjectiveC++  Haskell  
  BSD 3clause "New" or "Revised" 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.
miniF2F

[D] Have their been any attempts to create a programming language specifically for machine learning?
That said, you *can* write down a desired type and have a system write down a ton of type annotations or generate a bunch of code to prove that the type you wrote down is satisfied by your program. There's been recent work on this in deep learning for theorem proving, such as this work which uses GPT for proving theorems in Lean, a dependently type programming language and theorem prover. A better approach though would be to combine this with an actual tree search algorithm to allow a more structured search over the space of proofs, instead of trying to generate full correct proofs in one shot. Hypertree Proof Search does this, using a variant of AlphaZero to search and finetune the neural net. Unfortunately it hasn't been opensourced though, and it's pretty compute intensive, so we can't use this for actual type inference yet. But yeah there's active interest in doing this kind of thing, both as a proving ground for using RL for reasoning tasks and from mathematicians for theoremproving.
 [D] First Author Interview: AI & formal math (Formal Mathematics Statement Curriculum Learning)
 [D] OpenAI tackles Math  Formal Mathematics Statement Curriculum Learning (Paper Explained Video)
 MiniF2F
hasktorch
 BLAS GPU bindings

Trying out Hasktorch but ghc supported versions conflicts on MacOS M1/2
I assume you are getting https://github.com/hasktorch/hasktorch/issues/631? I suspect you need to upgrade to GHC 9.2 to work reliably on M1.

Is Haskell okay for prototyping machine learning models for research (discovery and exploration)
You might find the Deep Learning From The First Principles tutorials by Bogdan Penkovsky an interesting survey of native Haskell implementations of deep neural networks, and a bit more. It demonstrates some native charting capabilities, and Day 9 uses Hasktorch.

Need help Integrating Hasktorch into my Haskell Jupyter environment using Nix
I'm new to Nix and I'm trying to set up a Jupyter notebook environment for Haskell that includes the Hasktorch package. I'm using the jupyenv project from Tweag as the foundation, and I've been able to get it working with some basic Haskell packages. However, I'm running into issues when I try to add Hasktorch to the mix.

[D] Have their been any attempts to create a programming language specifically for machine learning?
That said, there are some things that try to do this. Haskell has a port of torch called HaskTorch that includes this kind of typed tensor shapes, and calls the Z3 theorem prover on the backend to solve type inference. It can get away with this because of the LiquidHaskell compiler extension, which has refinement types capable of solving this kind of typing problem, and is already pretty mature. Dex is a research language from Google that's based on Haskell and built to explore this kind of typechecking. Really you'd want to do this in Rust, because that's where the tradeoff of speed and safety for convenience makes the most sense, but rust is just barely on the edge of having a type system capable of this. You have to get really clever with the type system to make it work at all, and there's been no sustained push from any company to develop this into a mature solution. Hopefully something better comes along soon

Haskell deep learning tutorials [Blog]
As rightfully pointed u/gelisam, both Hasktorch and Pytorch are essentially the same things (bindings to existing Torch library). Therefore, it should be generally possible to use existing pretrained models. Here is an example.

base case
I think it's likely that http://hasktorch.org/ is the library you will want to use for AI models, once you feel comfortable with Haskell.

looking for simple regression (or classification) library
IF (big if) it turns out you do need deep learning then doing it in Hasktorch http://hasktorch.org/ could be a fun learning project. The team making it is super nice and responsive, too

Haskell for Artificial Intelligence?
This said, if you want do do deep learning Python is the obvious choice atm, if only for copypasting code from examples (however do you know HaskTorch? https://github.com/hasktorch/hasktorch/ )
 GPUbased deep learning in Haskell
What are some alternatives?
tensor_annotations  Annotating tensor shapes using Python types
grenade  Deep Learning in Haskell
einops  Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
dexlang  Research language for array processing in the Haskell/ML family
torchtyping  Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
finito  A constraint solver for finite domains, written in Haskell.
FL  FL language specification and reference implementations
tensorsafe  A Haskell framework to define valid deep learning models and export them to other frameworks like TensorFlow JS or Keras.
Etage  A general dataflow framework featuring nondeterminism, laziness and neurological pseudoterminology.
jaxtyping  Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays. https://docs.kidger.site/jaxtyping/
futhark  :boom::computer::boom: A dataparallel functional programming language