flux.jl-587475ba-b771-5e3f-ad9e-33799f191a9c
Last snapshots taken from https://github.com/UnofficialJuliaMirror/Flux.jl-587475ba-b771-5e3f-ad9e-33799f191a9c on 2019-11-20T07:20:46.003-05:00 by @UnofficialJuliaMirrorBot via Travis job 153.15 , triggered by Travis cron job on branch "master"
https://github.com/unofficialjuliamirrorsnapshots/flux.jl-587475ba-b771-5e3f-ad9e-33799f191a9c
Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: joss.theoj.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.6%) to scientific vocabulary
Repository
Last snapshots taken from https://github.com/UnofficialJuliaMirror/Flux.jl-587475ba-b771-5e3f-ad9e-33799f191a9c on 2019-11-20T07:20:46.003-05:00 by @UnofficialJuliaMirrorBot via Travis job 153.15 , triggered by Travis cron job on branch "master"
Basic Info
- Host: GitHub
- Owner: UnofficialJuliaMirrorSnapshots
- License: other
- Language: Julia
- Default Branch: master
- Size: 236 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
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.
julia
julia> Pkg.add("Flux")
See the documentation or the model zoo for examples.
If you use Flux in research, please cite the following paper:
@article{innes:2018,
author = {Mike Innes},
title = {Flux: Elegant Machine Learning with Julia},
journal = {Journal of Open Source Software},
year = {2018},
doi = {10.21105/joss.00602},
}
Features
Flux has powerful high-level features, and common architectures can be defined in a few lines.
```julia model = Chain( Dense(768, 128, σ), LSTM(128, 256), LSTM(256, 128), Dense(128, 10), softmax)
loss(x, y) = crossentropy(model(x), y)
Flux.train!(loss, params(model), data, ADAM(...)) ```
Yet you can easily strip away the layers, and directly write the mathematics for your problem. Flux will seamlessly take gradients of any Julia code, so your model looks just like the paper.
```julia W = param(randn(2, 10)) b = param(randn(2))
y(x) = σ.(W * x .+ b) ```
If that's still not enough, you can go as deep as you want, even writing your own CUDA kernels with CUDAnative! All this can be freely mixed-and-matched in a single model or script, and it all runs interactively via Jupyter or Juno.
julia
function gpu_add(a, b, c)
i = (blockIdx().x-1) * blockDim().x + threadIdx().x
c[i] = a[i] + b[i]
return nothing
end
Unusual architectures are no problem in Flux, as you can use all the loops, control flow and even macros that you're used to. Here's a Tree RNN in 4 lines.
```julia tree() = rand() < 0.5 ? rand(10) : (tree(), tree()) # dummy data
shrink = Dense(20, 10) combine(a, b) = shrink([a; b])
model(x) = x model(x::Tuple) = combine(model(x[1]), model(x[2]))
model(tree()) # Sample output ```
Despite this flexibility, Julia's advanced compiler lets us do some powerful optimisations. For example, this definition of sigmoid automatically gets fused into a single GPU kernel – so it's really fast.
julia
sigmoid(xs) = 1 ./ (1 .+ exp.(.-xs))
Similarly, Flux is the first dynamic framework to support compiling to the browser and model import via formats like ONNX, both of which are thinly-veiled compiler problems.
For more on our philosophy on machine learning, check out our article On Machine Learning & Programming Languages.
Contributing & Help
For general questions and help, check out Julia's community forum.
Flux development is carried out via our GitHub issues, so feel free to open feature requests or PRs here.
For more informal discussions we'd love to have you on the Julia slack, where we hang out on the #machine-learning channel.
Related Packages
Check out Metalhead.jl for common computer vision datasets and trained models.
MLDatasets.jl provides further common datasets.
Owner
- Name: Unofficial Julia Mirror [Snapshots]
- Login: UnofficialJuliaMirrorSnapshots
- Kind: organization
- Website: https://github.com/UnofficialJuliaMirrorSnapshots/RepoSnapshots.jl
- Repositories: 4
- Profile: https://github.com/UnofficialJuliaMirrorSnapshots
Snapshots of all registered Julia packages. Updated weekly by @UnofficialJuliaMirrorBot. See also: @UnofficialJuliaMirror.
Citation (CITATION.bib)
@article{Flux.jl-2018,
author = {Michael Innes and
Elliot Saba and
Keno Fischer and
Dhairya Gandhi and
Marco Concetto Rudilosso and
Neethu Mariya Joy and
Tejan Karmali and
Avik Pal and
Viral Shah},
title = {Fashionable Modelling with Flux},
journal = {CoRR},
volume = {abs/1811.01457},
year = {2018},
url = {http://arxiv.org/abs/1811.01457},
archivePrefix = {arXiv},
eprint = {1811.01457},
timestamp = {Thu, 22 Nov 2018 17:58:30 +0100},
biburl = {https://dblp.org/rec/bib/journals/corr/abs-1811-01457},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{innes:2018,
author = {Mike Innes},
title = {Flux: Elegant Machine Learning with Julia},
journal = {Journal of Open Source Software},
year = {2018},
doi = {10.21105/joss.00602},
}