# Best Julia library for neural networks

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.

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

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.

• 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 – niczky12 Aug 1 '16 at 13:31
• 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) – davidparks21 Oct 8 '16 at 22:19

MXNet Julia Package - flexible and efficient deep learning in Julia

https://github.com/dmlc/MXNet.jl

Pros

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

Cons

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

https://github.com/malmaud/TensorFlow.jl

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),
softmax)

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



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

https://github.com/denizyuret/Knet.jl