Flux ready for a beginner deep learning project?



It’s the same advantage that most Julia packages have over most Python packages: rather than having to use specialized objects coming from some huge, complicated C or C++ code base that tend not to be compatible with anything else you are just using the normal objects of the language. It’s sort of as if you could have written TensorFlow using only Python lists and dicts (that’s a little bit of a false equivalency for a few reasons, but it does a good job expressing what I mean). Just look at how much easier it is to implement custom layers in Flux compared to TensorFlow! In Flux a custom layer is just perfectly ordinary code. You have to read through tons of TensorFlow documentation even to know where to start with it.

Also, I don’t know about PyTorch, but last I checked TensorFlow only worked with fully static computational graphs.


PyTorch uses a dynamic computation graph. You can get dynamic graphs in Tensorflow by using: https://github.com/tensorflow/fold


If you use Windows, you can run CUDAnative.jl and CuArrays.jl with binary distribution of Julia v0.6.2 through ad-hoc patch to LLVM.jl.
You can use GPU without building Julia from source.


Thanks @yatra9! This worked for me and I’m now training a model on the GPU. I did run into an error with the crossentropy function that’s reported here:

Other than that appears to be working great.


@MikeInnes and anyone else, I’m running into an error with the conv function here:

Any ideas on what may be going on?

@joshualeond, Can you give me an update on how Flux is working for you? Have you tried convnets?


@datnamer Flux Convolutional NN on MNIST https://github.com/hpoit/ML-Coursera/blob/master/week%204/ang_assignment3-v02-cnn.jl

See if it helps


Great repo thanks!