CINXE.COM
Flux – Elegant ML
<!DOCTYPE html> <html lang=en > <style> #cppn{ position:absolute; top:0; bottom:0; height: 100%; width: 100vw; } iframe { display: block; border-style:none; } </style> <meta property="og:title" content=Flux.jl > <meta property="og:description" content="The elegant machine learning library"> <meta property="og:image" content="/assets/images/FluxGitHubPreview.png"> <meta property="og:url" content=fluxml.ai > <meta name="twitter:title" content=Flux.jl > <meta name="twitter:description" content="The elegant machine learning library"> <meta name="twitter:image" content="/assets/images/FluxGitHubPreview.png"> <meta name="twitter:card" content=summary_large_image > <link rel=apple-touch-icon sizes=180x180 href="assets/favicon_io/apple-touch-icon.png"> <link rel=icon type="image/png" sizes=32x32 href="assets/favicon_io/favicon-32x32.png"> <link rel=icon type="image/png" sizes=16x16 href="assets/favicon_io/favicon-16x16.png"> <link rel=manifest href="assets/favicon_io/site.webmanifest"> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-36890222-9"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-36890222-9'); </script> <meta charset=utf-8 > <meta name=viewport content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel=stylesheet href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin=anonymous > <link rel=stylesheet href="./css/script_default.css"> <link rel=stylesheet href="./css/site.css"> <link rel=stylesheet href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin=anonymous > <link rel=stylesheet href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin=anonymous > <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin=anonymous ></script> <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin=anonymous onload="renderMathInElement(document.body, { delimiters: [ {left: '$[[', right: ']]', display: true}, {left: '\\[', right: '\\]', display: true}, {left: '[[', right: ']]', display: false} ] });"> </script> <title>Flux – Elegant ML</title> <nav class="navbar navbar-expand-lg navbar-dark container lighter"> <a class=navbar-brand href="/./"> <div class=logo style="font-size:30pt;margin-top:-15px;margin-bottom:-10px;">flux</div> </a> <button class=navbar-toggler type=button data-toggle=collapse data-target="#navbarSupportedContent" aria-controls=navbarSupportedContent aria-expanded=false aria-label="Toggle navigation"> <span class=navbar-toggler-icon ></span> </button> <div class="collapse navbar-collapse" id=navbarSupportedContent > <ul class="navbar-nav mr-auto"> <li class=nav-item > <a class=nav-link href="https://fluxml.ai/Flux.jl/" target=_blank >Documentation</a> <li class=nav-item > <a class=nav-link href="https://github.com/FluxML/model-zoo/" target=_blank >Model Zoo</a> <li class=nav-item > <a class=nav-link href="https://github.com/FluxML/Flux.jl" target=_blank >GitHub</a> <li class=nav-item > <a class=nav-link href="https://fluxml.ai/Flux.jl/stable/ecosystem/">Ecosystem</a> <!-- <li class=nav-item > <a class=nav-link href="/./gsod/">GSoD</a> --> <li class=nav-item > <a class=nav-link href="/./blog/">Blog</a> <li class=nav-item > <a class=nav-link href="/./gsoc/">GSoC</a> <li> <a class=nav-link href="/./governance/">Governance</a> <li class=nav-item > <a class=nav-link href="https://github.com/FluxML/Flux.jl/blob/master/CONTRIBUTING.md" target=_blank >Contribute</a> </ul> </div> </nav> <div class=franklin-content ><div class="jumbotron jumbotron-fluid no-pad"><div class=container ><img src="./assets/logo.png" style="max-width:100%;padding-bottom:20px"/> <h2>The <i>Elegant</i> Machine Learning Stack</h2> Flux is a 100% pure-Julia stack and provides lightweight abstractions on top of Julia's native GPU and AD support. It makes the easy things easy while remaining fully hackable. <div class=buttons ><a class="btn btn-primary btn-lg" href="https://fluxml.ai/Flux.jl/stable/#Installation-1" role=button ><i class="fas fa-download"></i>Try It Out</a> <a class="btn btn-primary btn-lg" href="https://github.com/FluxML/Flux.jl" role=button target=_blank ><i class="fas fa-star"></i>GitHub</a> <a class="btn btn-primary btn-lg" href="https://twitter.com/FluxML" role=button target=_blank ><i class="fab fa-twitter"></i>Follow on Twitter</a></div></div></div> <div class=features ><div class=container ><div class=row ><div class="col-md-12 feature-title"> <h2>Features</h2> Flux has features that sets it apart among ML systems.</div></div> <div class=row ><div class="col-md feature"> <h5>Compiled Eager Code</h5> Flux provides a single, intuitive way to define models, just like mathematical notation. Julia transparently <a href="https://julialang.org/blog/2018/12/ml-language-compiler">compiles your code</a>, optimising and fusing kernels for the GPU, for the best performance.</div> <div class="col-md feature"> <h5>Differentiable Programming</h5> Existing Julia libraries are differentiable and can be incorporated directly into Flux models. Cutting edge models such as <a href="https://julialang.org/blog/2019/01/fluxdiffeq">Neural ODEs</a> are first class, and <a href="https://github.com/FluxML/Zygote.jl">Zygote</a> enables overhead-free gradients.</div> <div class="col-md feature"> <h5>First-class GPU support</h5> GPU kernels can be written directly in Julia via <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a>. Flux is uniquely hackable and any part can be tweaked, from GPU code to custom gradients and layers.</div></div></div></div> <div class=features ><div class=container ><div class=row ><div class="col-md-12 feature-title"> <h2> Ecosystem </h2> Flux has a diverse ecosystem that includes models available for reuse and other useful packages.</div> <div class="col-md-12 feature-title"><a class="btn btn-primary btn-lg" href="https://fluxml.ai/Flux.jl/dev/ecosystem/" role=button style="float: right;">See all <i class="fas fa-arrow-circle-right"></i> </a></div></div> <div class=row ><div class="col-md feature"> <h5>Probabilistic Programming</h5> The <a href="https://github.com/TuringLang/Turing.jl">Turing.jl</a> and <a href="https://github.com/willtebbutt/Stheno.jl">Stheno.jl</a> libraries enable probabilistic programming, Bayesian inference and Gaussian processes on top of Flux.</div> <div class="col-md feature"> <h5>Graph Neural Networks</h5> <a href="https://github.com/CarloLucibello/GraphNeuralNetworks.jl">GraphNeuralNetworks.jl</a> is a graph neural network library for Flux and supports CUDA GPU acceleration.</div> <div class="col-md feature"> <h5>Computer Vision</h5> <a href="https://github.com/FluxML/Metalhead.jl">Metalhead.jl</a> includes many state-of-the-art computer vision models with pre-trained weights.</div></div> <div class=row ><div class="col-md feature"> <h5>SciML</h5> The <a href="https://sciml.ai/">SciML</a> ecosystem uses the FluxML stack to mix neural nets with differential equations, to get the best of black box and mechanistic modelling.</div> <div class="col-md feature"> <h5>Natural Language Processing</h5> <a href="https://github.com/chengchingwen/Transformers.jl">Transformers.jl</a> provides components for transformer architectures for language modeling, as well as providing several trained models out of the box.</div></div></div></div> <div class=features ><div class=container ><div class=row ><div class="col-md-12 feature-title"> <h2>Community</h2> Get in touch with the Flux community.</div></div> <div class=row ><div class="col-md feature"> <h5>Community team</h5> Flux is maintained by community team (see our <a href="./governance">governance model</a>). Join us or talk to us on Zulip! 👉</div> <div class="col-md feature"> <h5>Slack</h5> <a href="https://julialang.org/slack/">Official Julia Slack</a> for casual conversation. See <code>#flux-bridged</code> and <code>#machine-learning</code>.</div> <div class="col-md feature"> <h5>Zulip</h5> <a href="https://julialang.zulipchat.com">Zulip server</a> for the Julia programming language community. See <code>#ml-contributors</code> and <code>#machine-learning</code>.</div></div> <div class=row ><div class="col-md feature"> <h5>Discourse forum</h5> <a href="https://discourse.julialang.org/c/domain/ML/24">Machine Learning in Julia</a> community.</div> <div class="col-md feature"> <h5>Stack Overflow</h5> <a href="https://stackoverflow.com/questions/tagged/flux.jl">Ask questions</a> about Flux.jl.</div> <div class="col-md feature"> <h5>Contribute!</h5> Help us by <a href="https://github.com/FluxML/Flux.jl/blob/master/CONTRIBUTING.md">contributing code</a>!</div></div></div></div> <div class=features ><div class=container ><div class=row ><div class="col-md-12 feature-title"><h2>Why Flux?</h2></div></div> <div class=row ><iframe width="100%" height=400 src="https://www.youtube-nocookie.com/embed/g_qstKogPYw" title="YouTube video player" frameborder=0 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></div></div> <div class=friends ><div class=container ><div class=row ><div class="col-md-12 feature-title"><h2>Researchers, users, and developers of Flux</h2></div></div> <div class=row ><div class=col-md ><a href="https://julia.mit.edu"><img src="./assets/friends/mit-logo.png"></a></div> <div class=col-md ><a href="https://www.ucl.ac.uk"><img src="./assets/friends/ucl-logo.png"></a></div> <div class=col-md ><a href="https://www.utoronto.ca"><img src="./assets/friends/uoft_logo.png"></a></div></div> <div class=row ><div class=col-md ><a href="https://juliacomputing.com"><img src="./assets/friends/juliac-logo.png"></a></div> <div class=col-md ><a href="https://www.turing.ac.uk/research/research-projects/machine-learning-julia"><img src="./assets/friends/alan-turing.jpg"></a></div> <div class=col-md ><a href="https://www.ed.ac.uk"><img src="./assets/friends/edinburgh.png"></a></div></div> <div class=row ><div class=col-md ><a href="https://www.relational.ai"><img src="./assets/friends/rai-logo.png"></a></div> <div class=col-md ><a href="https://www.washington.edu"><img src="./assets/friends/washington.jpg"></a></div> <div class=col-md ><a href="https://www.cam.ac.uk"><img src="./assets/friends/cambridge.jpg"></a></div></div> <div class=row ><div class=col-md ><a href="https://www.cmu.edu"><img src="./assets/friends/cmu-logo.png"></a></div> <div class=col-md ><a href="https://www.invenia.ca"><img src="./assets/friends/invenia-logo.png"></a></div> <div class=col-md ><a href="https://beacon.bio"><img src="./assets/friends/beacon_biosignals.jpg"></a></div> <div class=col-md ><a href="https://www.amd.com"><img src="./assets/friends/amd-logo.png"></a></div></div></div></div> </div> <div class="container footer lighter"> <p>Flux: A Deep Learning Library for the Julia Programming Language </p> <a href="https://twitter.com/FluxML?ref_src=twsrc%5Etfw" class=twitter-follow-button data-show-count=false >Follow @FluxML</a> <script async src="https://platform.twitter.com/widgets.js" charset=utf-8 ></script> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> <script src="/./libs/highlight.pack.js"></script> <script>hljs.initHighlightingOnLoad();</script> <script src="/.//instant.page/1.0.0" type=module integrity="sha384-6w2SekMzCkuMQ9sEbq0cLviD/yR2HfA/+ekmKiBnFlsoSvb/VmQFSi/umVShadQI"></script>