In the tradition of "awesome" (curated) lists, this is a list of references and code for doing deep learning (and adjacent/related topics) in Haskell.
- 2020 | Type-driven Neural Programming by Example | Kiara Grouwstra
- 2019 | Dex: array programming with typed indices | Dougal Maclaurin, Alexey Radul, Matthew J. Johnson, and Dimitrios Vytiniotis
- 2018 | Not-o-matic Differentiation | Andrew Knapp
- 2018 | Hasktorch v0.0.1 | Sam Stites
- 2018 | The Simple Essence of Automatic Differentiation | Conal Elliott
- 2018 | A Purely Functional Typed Approach to Trainable Models | Justin Le
- 2018 | Introducing the backprop library | Justin Le
- 2017 | Backprop as Functor: A compositional perspective on supervised learning | Brendan Fong, David I. Spivak, Rémy Tuyéras
- 2017 | Haskell and AI (multi-part series covering Tensorflow) | James Bowen
- 2017 | Backpack for deep learning | Kaixi Ruan
- 2017 | DeepDarkFantasy: A Programming Language for Deep Learning | Marisa Kirisame
- 2017 | Deep Learning, from a Programming Language Perspective | Marisa Kirisame
- 2016 | Computing symbolic gradient vectors with plain Haskell | Dan Aloni
- 2016 | Practical Dependent Types in Haskell (Part 2): Existential Neural Networks and Types at Runtime | Justin Le
- 2016 | Practical Dependent Types in Haskell (Part 1): Type-Safe Neural Networks | Justin Le
- 2016 | Reverse-Mode Automatic Differentiation in Haskell Using the Accelerate Library (CS240h project) | James Bradbury, Farhan Kathawala
- 2015 | Neural Networks, Types, and Functional Programming | Christopher Olah
- 2014 | Get a Brain | Ben Lynn
- 2013 | Backpropogation is Just Steepest Descent with Automatic Differentiation | Dominic Steinitz
- 2020 | PyTorch Developer Day 2020: Torch for R & Hasktorch: Bringing Torch to New Programming Languages | Austin Huang and Daniel Falbel
- 2020 | Berlin Functional Programming Group: Hasktorch | Torsten Scholak
- 2020 | MuniHac 2020: Austin Huang - Hasktorch: Differentiable Functional Programming in Haskell | Austin Huang
- 2019 | A Functional Reboot for Deep Learning (BOB 2019 Talk) | Conal Elliott
- 2019 | Keynote: Automatic Diferentiation for Dummies | Simon Peyton Jones
- 2018 | NPFL Numerical Programming in Functional Languages (ICFP Session) 2018 Playlist | Multiple Presenters
- 2018 | The Simple Essence of Automatic Differentiation | Conal Elliott
- backprop - Automatic heterogeneous back-propagation that can be used either implicitly (in the style of the ad library) or using explicit graphs built in monadic style. | Justin Le
- arrayfire-haskell - High-level Haskell bindings to the ArrayFire General-purpose GPU library. | David Johnson
- backprop-hmatrix - Automatic heterogeneous back-propagation that can be used either implicitly (in the style of the ad library) or using explicit graphs built in monadic style. | Justin Le
- dex - a research language for typed, functional array processing.
- diffhask - DSL for forward and reverse mode automatic differentiation via a version of operator overloading. Port of DiffSharp to Haskell; currently a work in progress. | Tim Pierson
- funn - This is an experimental library exploring a combinator approach for building and training neural networks in haskell. | Neil Shepperd
- grenade - Grenade is a composable, dependently typed, practical, and fast recurrent neural network library for concise and precise specifications of complex networks in Haskell. | Huw Campbell
- gym-http-api This project provides a local REST API to the gym open-source library, includes a Haskell client by Sam Stites
- hasktorch Tensors and neural networks in Haskell, leverages the libtorch backend. | Hasktorch Contributor Team
- hasktorch-yolo yolov3 implementaiton in hasktorch | Junji Hashimoto
- hnn - A neural network library implemented purely in Haskell, relying on the hmatrix library. | Alp Mestan
- rc - Reservoir computing library. | Bogdan Penkovsky
- synthesis - Implementation for Typed Neuro-Symbolic Program Synthesis for the Typed Lambda Calculus
- tensor-safe - A framework to define valid deep neural network models and export them to specific languages | Leonardo Pineyro
- tensorflow - The tensorflow-haskell package provides Haskell bindings to TensorFlow. | Judah Jacobson and Greg Steuk
- TypedFlow - TypedFlow is a typed, higher-order frontend to TensorFlow and a high-level library for deep-learning. Generates python. | Jean-Philippe Bernardy
- convoluted - Dependently typed convolutional neural networks in pure Haskell. Uses the repa library for high-performance arrays, with a static wrapper that ensures networks are valid at compile-time. | Jonas Carpay
- deeplearning-hs
- dnngraph
- lambdanet
- neural - The goal of neural is to provide a modular and flexible neural network library written in native Haskell. | Lars Brünjes
- Chris Olah's blog
- dataHaskell site and gitter chat
- idontgetoutmuch blog
- Justin Le's blog
- Monday Morning Haskell
Feel free to send a pull request.