I have been using this library for basic neural network construction and analysis.

However, it does not have support for building multi-layered neural networks, etc.

So, I would like to know of any nice libraries for doing advanced neural networks and Deep Learning in Julia.

  • 1
    $\begingroup$ github.com/dmlc/MXNet.jl $\endgroup$
    – itdxer
    Nov 19, 2015 at 9:40
  • 1
    $\begingroup$ @itdxer Thank you for the link. Can you put that as an answer by elaborating about it? $\endgroup$
    – Dawny33
    Nov 19, 2015 at 10:17

5 Answers 5


Mocha.jl - Mocha is a Deep Learning framework for Julia, inspired by the C++ framework Caffe.

Project with good documentation and examples. Can be run on CPU and GPU backend.

  • 1
    $\begingroup$ I think they stopped developing Mocha and MXNet is the way to go forward. See malmaud's comment here: github.com/pluskid/Mocha.jl/issues/157 $\endgroup$
    – niczky12
    Aug 1, 2016 at 13:31
  • $\begingroup$ I've used Mocha for a while, it's got some issues and lacks a community, I concur that MXNet is where active development is. There's also a Julia wrapper for Tensorflow: github.com/malmaud/TensorFlow.jl (disclamer: I haven't used either, MXNet or the TF Julia Wrapper) $\endgroup$ Oct 8, 2016 at 22:19

MXNet Julia Package - flexible and efficient deep learning in Julia



  • Fast
  • Scales up to multi GPUs and distributed setting with auto parallelism.
  • Lightweight, memory efficient and portable to smart devices.
  • Automatic Differentiation



Just to add a more recent (2019) answer: Flux.

Flux is an elegant approach to machine learning. It's a 100% pure-Julia stack,
and provides lightweight abstractions on top of Julia's native GPU and
AD support. Flux makes the easy things easy while remaining fully hackable.

For example:

model = Chain(
  Dense(768, 128, σ),
  LSTM(128, 256),
  LSTM(256, 128),
  Dense(128, 10),

loss(x, y) = crossentropy(model(x), y)

Flux.train!(loss, data, ADAM(...))

As of Oct 2016 there's also a Tensorflow wrapper for Julia.


One newer library to look at as well is Knet.jl. It will do things like use GPUs under the hood.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.