Flux (machine-learning framework)

Source: Wikipedia, the free encyclopedia.
Flux
Original author(s)Michael J Innes,[1] Dhairya Gandhi,[2] and Contributors[3]
Stable release
0.14.5[4] Edit this on Wikidata / 7 September 2023; 9 months ago (7 September 2023)
Repositorygithub.com/FluxML/Flux.jl
Written inJulia
TypeMachine learning library
LicenseMIT[5]
Websitehttps://fluxml.ai

Flux is an

software library and ecosystem written in Julia.[1][6] Its current stable release is v0.14.5[4] Edit this on Wikidata. It has a layer-stacking-based interface for simpler models, and has a strong support on interoperability with other Julia packages instead of a monolithic design.[7] For example, GPU support is implemented transparently by CuArrays.jl.[8] This is in contrast to some other machine learning frameworks which are implemented in other languages with Julia bindings, such as TensorFlow.jl (the unofficial wrapper, now deprecated), and thus are more limited by the functionality present in the underlying implementation, which is often in C or C++.[9] Flux joined NumFOCUS as an affiliated project in December of 2021.[10]

Flux's focus on interoperability has enabled, for example, support for Neural Differential Equations, by fusing Flux.jl and DifferentialEquations.jl into DiffEqFlux.jl.[11][12]

Flux supports recurrent and convolutional networks. It is also capable of differentiable programming[13][14][15] through its source-to-source automatic differentiation package, Zygote.jl.[16]

Julia is a popular language in machine-learning

Jeff Dean.[19]

Flux has been used as a framework to build neural networks that work with

API using machine-learning models.[22]

Flux.jl is an intermediate representation for running high level programs on CUDA hardware.[23][24] It was the predecessor to CUDAnative.jl which is also a GPU programming language.[25]

See also

References

  1. ^ .
  2. ^ Dhairya Gandhi, GitHub, 2021-06-27, retrieved 2021-06-27
  3. ^ Flux Contributors, GitHub, 2021-06-27, retrieved 2021-06-27
  4. ^ a b "Flux v0.14.5". 7 September 2023. Retrieved 10 September 2023.
  5. ^ "github.com/FluxML/Flux.jl/blob/master/LICENSE.md". GitHub. 6 November 2021.
  6. ^ Innes, Mike; Bradbury, James; Fischer, Keno; Gandhi, Dhairya; Mariya Joy, Neethu; Karmali, Tejan; Kelley, Matt; Pal, Avik; Concetto Rudilosso, Marco; Saba, Elliot; Shah, Viral; Yuret, Deniz. "Building a Language and Compiler for Machine Learning". julialang.org. Retrieved 2019-06-02.
  7. ^ "Machine Learning and Artificial Intelligence". juliacomputing.com. Archived from the original on 2019-06-02. Retrieved 2019-06-02.
  8. ^ Gandhi, Dhairya (2018-11-15). "Julia at NeurIPS and the Future of Machine Learning Tools". juliacomputing.com. Archived from the original on 2019-06-02. Retrieved 2019-06-02.
  9. .
  10. ^ "Flux <3 NumFOCUS". fluxml.ai. Archived from the original on 2021-12-01. Retrieved 2021-01-12.
  11. ].
  12. ^ Schlothauer, Sarah (2019-01-25). "Machine learning meets math: Solve differential equations with new Julia library". JAXenter. Retrieved 2019-10-21.
  13. ^ "Flux – Reinforcement Learning vs. Differentiable Programming". fluxml.ai. Archived from the original on 2019-03-27. Retrieved 2019-06-02.
  14. ^ "Flux – What Is Differentiable Programming?". fluxml.ai. Archived from the original on 2019-03-27. Retrieved 2019-06-02.
  15. ^ Heath, Nick (December 6, 2018). "Julia vs Python: Which programming language will rule machine learning in 2019?". TechRepublic. Retrieved 2019-06-03.
  16. ].
  17. ^ a b Heath, Nick (January 25, 2019). "GitHub: The top 10 programming languages for machine learning". TechRepublic. Retrieved 2019-06-03.
  18. ].
  19. ^ Dean, Jeff [@JeffDean] (October 24, 2018). "Julia + TPUs = fast and easily expressible ML computations" (Tweet). Retrieved 2019-06-02 – via Twitter.
  20. ^ Patrawala, Fatema (2019-11-28). "Julia Computing research team runs machine learning model on encrypted data without decrypting it". Packt Hub. Retrieved 2019-12-11.
  21. ^ "Machine Learning on Encrypted Data Without Decrypting It". juliacomputing.com. 2019-11-22. Archived from the original on 2019-12-03. Retrieved 2019-12-11.
  22. ^ Yadav, Rohit (2019-12-02). "Julia Computing Uses Homomorphic Encryption For ML. Is It The Way Forward?". Analytics India Magazine. Retrieved 2019-12-11.
  23. arXiv:1904.08368 [cs.LG].{{cite arXiv}}: CS1 maint: multiple names: authors list (link
    )
  24. .
  25. ^ Besard, Tim (2018). Abstractions for Programming Graphics Processors in High-Level Programming Languages (PhD). Ghent University.