Ecosystem
This section lists tools that complement Flux in typical machine learning and deep learning workflows. To add your project please send a PR. See also academic work citing Flux or Zygote.
Table of contents
- Table of contents
- Advanced models
- Computer Vision
- Datasets
- Differentiable programming
- Generative models
- Graph learning
- Miscellaneous
- Natural language processing
- Pipeline extensions
- Plumbing
- Probabilistic programming
- Reinforcement learning
Advanced models
- FluxArchitectures is a collection of slightly more advanced network architectures.
Computer Vision
- ObjectDetector.jl provides ready-to-go image analysis via YOLO.
- Metalhead.jl includes many state-of-the-art computer vision models which can easily be used for transfer learning.
- UNet.jl is a generic UNet implementation.
Datasets
- MLDatasets.jl focuses on downloading, unpacking, and accessing benchmark datasets.
Differentiable programming
- The SciML ecosystem uses Flux and Zygote to mix neural nets with differential equations, to get the best of black box and mechanistic modelling.
- DiffEqFlux provides tools for creating Neural Differential Equations.
- Flux3D shows off machine learning on 3D data.
- RayTracer.jl combines ML with computer vision via a differentiable renderer.
- Duckietown.jl Differentiable Duckietown simulator.
- The Yao project uses Flux and Zygote for Quantum Differentiable Programming.
Generative models
- Adversarial attacks for Neural Networks written with FluxML.
Graph learning
- GeometricFlux makes it easy to build fast neural networks over graphs.
Miscellaneous
*AdversarialPrediction.jl provides a way to easily optimize generic performance metrics in supervised learning settings using the Adversarial Prediction framework.
- Mill helps to prototype flexible multi-instance learning models.
- MLMetrics.jl is a utility for scoring models in data science and machine learning.
- MLPlots.jl contains common plotting recipes for statistics and machine learning.
- Torch.jl exposes torch in Julia.
- ValueHistories.jl is a utility for efficient tracking of optimization histories, training curves or other information of arbitrary types and at arbitrarily spaced sampling times
Natural language processing
- Transformers.jl provides components for Transformer models for NLP, as well as providing several trained models out of the box.
- TextAnalysis.jl provides several NLP algorithms that use Flux models under the hood.
Pipeline extensions
- DLPipelines.jl is an interface for defining deep learning data pipelines.
Plumbing
Tools to put data into the right order for creating a model.
- Augmentor.jl is a real-time library augmentation library for increasing the number of training images.
- DataAugmentation.jl aims to make it easy to build stochastic label-preserving augmentation pipelines for your datasets.
- MLDataUtils.jl is a utility for generating, loading, partitioning, and processing Machine Learning datasets.
- MLLabelUtils.j is a utility for working with classification targets. It provides the necessary functionality for interpreting class-predictions, as well as converting classification targets from one encoding to another.
Probabilistic programming
- Turing.jl extends Flux’s differentiable programming capabilities to probabilistic programming.
- Omega is a research project aimed at causal, higher-order probabilistic programming.
- Stheno provides flexible Gaussian processes.
Reinforcement learning
- AlphaZero.jl provides a generic, simple and fast implementation of Deepmind’s AlphaZero algorithm.
- ReinforcementLearning.jl offers a collection of tools for doing reinforcement learning research in Julia.