Skip to content

Commit

Permalink
update paper
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeInnes committed Apr 14, 2018
1 parent 9d7164f commit 0fd701c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
28 changes: 18 additions & 10 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,34 @@ @article{besard:2017
url = {http://arxiv.org/abs/1712.03112},
}

@online{MLPL,
author = {Mike Innes and others},
title = {On Machine Learning and Programming Languages},
year = 2017,
url = {https://julialang.org/blog/2017/12/ml&pl},
urldate = {2018-02-16}
}

@online{CuArrays,
author = {Mike Innes},
author = {Mike Innes and others},
title = {Generic GPU Kernels},
year = 2017,
url = {http://mikeinnes.github.io/2017/08/24/cudanative.html},
urldate = {2018-02-16}
}

@online{MLPL,
@online{Zoo,
author = {Mike Innes and others},
title = {On Machine Learning and Programming Languages},
year = 2017,
url = {https://julialang.org/blog/2017/12/ml&pl},
title = {Flux Model Zoo},
year = 2018,
url = {https://github.com/FluxML/model-zoo/},
urldate = {2018-02-16}
}

@online{Fusion,
author = {Steven G. Johnson},
title = {More Dots: Syntactic Loop Fusion in Julia},
year = 2017,
url = {https://julialang.org/blog/2017/01/moredots},
@online{Minibatch,
author = {James Bradbury},
title = {Minibatch.jl},
year = 2018,
url = {https://github.com/jekbradbury/Minibatch.jl},
urldate = {2018-02-16}
}
4 changes: 2 additions & 2 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ bibliography: paper.bib

Flux is library for machine learning (ML), written using the numerical computing language Julia [@Julia]. The package allows models to be written using Julia's simple mathematical syntax, and applies automatic differentiation (AD) to seamlessly calculate derivatives and train the model. Meanwhile, it makes heavy use of Julia's language and compiler features to carry out code analysis and make optimisations. For example, Julia's GPU compilation support [@besard:2017] can be used to JIT-compile custom GPU kernels for model layers [@CuArrays].

The machine learning community has traditionally been divided between "static" and "dynamic" frameworks that are easy to optimise and easy to use, respectively [@MLPL]. Flux blurs the line between these two approaches, combining a highly intuitive programming model with the compiler techniques needed by ML. As a result of this approach, it already supports several features not available in any other dynamic framework, such as kernel fusion [@Fusion], memory usage optimisations, importing of models via ONNX, and deployment of models to JavaScript for running in the browser.
The machine learning community has traditionally been divided between "static" and "dynamic" frameworks that are easy to optimise and easy to use, respectively [@MLPL]. Flux blurs the line between these two approaches, combining a highly intuitive programming model with the compiler techniques needed by ML. This enables research into advanced compiler transforms such as batching [@Minibatch] without changing any user code.

Flux has been used heavily for natural language processing, but can also support state-of-the-art research models in areas like computer vision, reinforcement learning and robotics.
Flux has been used heavily for natural language processing, but can also support state-of-the-art research models in areas like computer vision, reinforcement learning and robotics. Many examples of such models can be found in the model zoo [@Zoo].

# References

0 comments on commit 0fd701c

Please sign in to comment.