Flux es una biblioteca de software y ecosistema de aprendizaje automático de código abierto escrito en Julia . [ 1 ] [ 7 ] Su versión estable actual es v0.16.5 [ 5 ] . Tiene una interfaz basada en apilamiento de capas para modelos más simples y ofrece un fuerte soporte para la interoperabilidad con otros paquetes de Julia en lugar de un diseño monolítico. [ 8 ] Por ejemplo, el soporte para GPU se implementa de forma transparente mediante CuArrays.jl. [ 9 ] Esto contrasta con otros marcos de aprendizaje automático que se implementan en otros lenguajes con enlaces a Julia, como TensorFlow.jl (el envoltorio no oficial, ahora obsoleto), y por lo tanto están más limitados por la funcionalidad presente en la implementación subyacente, que a menudo está en C o C++. [ 10 ] Flux se unió a NumFOCUS como proyecto afiliado en diciembre de 2021. [ 11 ] ![]()
El enfoque de Flux en la interoperabilidad ha permitido, por ejemplo, el soporte para ecuaciones diferenciales neuronales , al fusionar Flux.jl y DifferentialEquations.jl en DiffEqFlux.jl. [ 12 ] [ 13 ]
Flux admite redes recurrentes y convolucionales. También es capaz de programación diferenciable [ 14 ] [ 15 ] [ 16 ] a través de su paquete de diferenciación automática de código fuente a código fuente , Zygote.jl. [ 17 ]
Julia es un lenguaje popular en el aprendizaje automático [ 18 ] y Flux.jl es su repositorio de aprendizaje automático más prestigioso [ 18 ] (Lux.jl es otro más reciente, que comparte gran parte del código con Flux.jl). Una demostración [ 19 ] que compilaba código Julia para ejecutarse en la unidad de procesamiento tensorial (TPU) de Google recibió elogios de Jeff Dean , líder de IA de Google Brain . [ 20 ]
Flux se ha utilizado como marco para construir redes neuronales que trabajan con datos cifrados homomórficos sin descifrarlos jamás. [ 21 ] [ 22 ] Se prevé que este tipo de aplicación sea fundamental para la privacidad de las futuras API que utilizan modelos de aprendizaje automático. [ 23 ]
Flux.jl es una representación intermedia para ejecutar programas de alto nivel en hardware CUDA . [ 24 ] [ 25 ] Fue el predecesor de CUDAnative.jl, que también es un lenguaje de programación para GPU . [ 26 ]
Véase también
- Programación diferenciable
- Comparación de software de aprendizaje profundo
- Comparación de software de aprendizaje automático
Referencias
- ^ a b Innes, Michael (2018-05-03). "Flux: Aprendizaje automático elegante con Julia" . Journal of Open Source Software . 3 (25): 602. Bibcode : 2018JOSS....3..602I . doi : 10.21105/joss.00602 .
- ^ Dhairya Gandhi , GitHub, 27 de junio de 2021 , consultado el 27 de junio de 2021
- ^ Colaboradores de Flux , GitHub, 27/06/2021 , consultado el 27/06/2021
- ^ Innes, Mike (2018-05-03). "Flux: Aprendizaje automático elegante con Julia" . Journal of Open Source Software . 3 (25): 602. Bibcode : 2018JOSS....3..602I . doi : 10.21105/joss.00602 .
- ^ a b "Flux v0.16.5" . 23 de julio de 2025. Consultado el 12 de octubre de 2025 .
- ^ "github.com/FluxML/Flux.jl/blob/master/LICENSE.md" . GitHub . 6 de noviembre de 2021.
- ^ Innes, Mike; Bradbury, James; Fischer, Keno; Gandhi, Dhairya; Mariya alegría, Neethu; Karmali, tejano; Kelley, mate; Pal, Avik; Concetto Rudilosso, Marco; Saba, Elliot; Shah, viral; Yuret, Deniz. "Construcción de un lenguaje y un compilador para el aprendizaje automático" . julialang.org . Consultado el 2 de junio de 2019 .
- ^ "Aprendizaje automático e inteligencia artificial" . juliacomputing.com . Archivado del original el 2 de junio de 2019. Consultado el 2 de junio de 2019 .
- ^ Gandhi, Dhairya (15 de noviembre de 2018). "Julia en NeurIPS y el futuro de las herramientas de aprendizaje automático" . juliacomputing.com . Archivado del original el 2 de junio de 2019. Recuperado el 2 de junio de 2019 .
- ^ Malmaud, Jonathan; White, Lyndon (2018-11-01). "TensorFlow.jl: Un front-end idiomático de Julia para TensorFlow" . Journal of Open Source Software . 3 (31): 1002. Bibcode : 2018JOSS....3.1002M . doi : 10.21105/joss.01002 .
- ^ "Flux <3 NumFOCUS" . fluxml.ai . Archivado del original el 1 de diciembre de 2021. Consultado el 12 de enero de 2021 .
- ^ Rackauckas, Chris; Innes, Mike; Ma, Yingbo; Bettencourt, Jesse; White, Lyndon; Dixit, Vaibhav (2019-02-06). "DiffEqFlux.jl - Una biblioteca Julia para ecuaciones diferenciales neuronales". arXiv : 1902.02376 [ cs.LG ].
- ^ Schlothauer, Sarah (25 de enero de 2019). "El aprendizaje automático se une a las matemáticas: Resuelve ecuaciones diferenciales con la nueva biblioteca Julia" . JAXenter . Consultado el 21 de octubre de 2019 .
- ^ "Flux – Aprendizaje por refuerzo vs. Programación diferenciable" . fluxml.ai . Archivado del original el 27-03-2019 . Consultado el 02-06-2019 .
- ^ "Flux – ¿Qué es la programación diferenciable?" . fluxml.ai . Archivado del original el 27-03-2019 . Consultado el 02-06-2019 .
- ^ Heath, Nick (6 de diciembre de 2018). "Julia vs Python: ¿Qué lenguaje de programación dominará el aprendizaje automático en 2019?" . TechRepublic . Consultado el 3 de junio de 2019 .
- ^ Innes, Michael (2018-10-18). "No desenrolles el adjunto: diferenciando programas en forma SSA". arXiv : 1810.07951 [ cs.PL ].
- ^ a b Heath, Nick (25 de enero de 2019). "GitHub: Los 10 mejores lenguajes de programación para el aprendizaje automático" . TechRepublic . Recuperado el 3 de junio de 2019 .
- ^ Saba, Elliot; Fischer, Keno (23-10-2018). "Compilación completa automática de programas Julia y modelos ML a TPU en la nube". arXiv : 1810.09868 [ cs.PL ].
- ^ Dean, Jeff [@JeffDean] (23-10-2018). "Julia + TPUs = cálculos de ML rápidos y fácilmente expresables" ( Tweet ) . Recuperado el 02-06-2019 – vía Twitter .
- ^ Patrawala, Fatema (28-11-2019). "El equipo de investigación de Julia Computing ejecuta un modelo de aprendizaje automático en datos cifrados sin descifrarlos" . Packt Hub . Recuperado el 11-12-2019 .
- ^ "Aprendizaje automático sobre datos cifrados sin descifrarlos" . juliacomputing.com . 22/11/2019. Archivado del original el 03/12/2019 . Consultado el 11/12/2019 .
- ^ Yadav, Rohit (2019-12-02). "Julia Computing utiliza cifrado homomórfico para ML. ¿Es el camino a seguir?" . Analytics India Magazine . Consultado el 11 de diciembre de 2019 .
- ^ Roesch, Jared y Lyubomirsky, Steven y Kirisame, Marisa y Pollock, Josh y Weber, Logan y Jiang, Ziheng y Chen, Tianqi y Moreau, Thierry y Tatlock, Zachary (2019). "Relay: Un IR de alto nivel para aprendizaje profundo". arXiv : 1904.08368 [ cs.LG ].
{{cite arXiv}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Tim Besard y Christophe Foket y Bjorn De Sutter (2019). "Programación extensible eficaz: liberando Julia en GPU". IEEE Transactions on Parallel and Distributed Systems . 30 (4). Institute of Electrical and Electronics Engineers (IEEE): 827– 841. arXiv : 1712.03112 . Bibcode : 2019ITPDS..30..827B . doi : 10.1109/tpds.2018.2872064 . S2CID 11827394 .
- ^ Besard, Tim (2018). Abstracciones para la programación de procesadores gráficos en lenguajes de programación de alto nivel (PhD). Universidad de Gante.
- Aprendizaje automático
- Software libre programado en Julia
- Software que utiliza la licencia MIT.