Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
avik-pal committed Jun 11, 2022
1 parent 9a6778a commit 195041b
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 26 deletions.
17 changes: 4 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Lux 🔥

[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Latest Docs](https://img.shields.io/badge/docs-latest-blue.svg)](http://lux.csail.mit.edu/dev/) [![Stable Docs](https://img.shields.io/badge/docs-stable-blue.svg)](http://lux.csail.mit.edu/stable/) [![CI](https://github.com/avik-pal/Lux.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/avik-pal/Lux.jl/actions/workflows/CI.yml) [![codecov](https://codecov.io/gh/avik-pal/Lux.jl/branch/main/graph/badge.svg?token=IMqBM1e3hz)](https://codecov.io/gh/avik-pal/Lux.jl) [![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Latest Docs](https://img.shields.io/badge/docs-latest-blue.svg)](http://lux.csail.mit.edu/dev/) [![Stable Docs](https://img.shields.io/badge/docs-stable-blue.svg)](http://lux.csail.mit.edu/stable/) [![CI](https://github.com/avik-pal/Lux.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/avik-pal/Lux.jl/actions/workflows/CI.yml) [![codecov](https://codecov.io/gh/avik-pal/Lux.jl/branch/main/graph/badge.svg?token=IMqBM1e3hz)](https://codecov.io/gh/avik-pal/Lux.jl) [![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac) [![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)


The 🔥 Deep Learning Framework
Expand All @@ -21,15 +21,8 @@ rng = Random.default_rng()
Random.seed!(rng, 0)

# Construct the layer
model = Chain(
BatchNorm(128),
Dense(128, 256, tanh),
BatchNorm(256),
Chain(
Dense(256, 1, tanh),
Dense(1, 10)
)
)
model = Chain(BatchNorm(128), Dense(128, 256, tanh), BatchNorm(256),
Chain(Dense(256, 1, tanh),Dense(1, 10)))

# Parameter and State Variables
ps, st = Lux.setup(rng, model) .|> gpu
Expand All @@ -54,9 +47,7 @@ Look in the [examples](/examples/) directory for self-contained usage examples.

## Ecosystem

### Prebuilt Deep Learning Models

See [Boltz](lib/Boltz/) for pre-built deep learning models with pretrained weights for popular datasets.
Checkout our [Ecosystem](http://lux.csail.mit.edu/dev/introduction/ecosystem/) page for more details.

## Getting Help

Expand Down
9 changes: 5 additions & 4 deletions docs/src/examples.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
!!! warning
These were not written in the form of tutorials but standalone scripts/packages for people to use

## Packages

* [Deep Equilibrium Models](https://github.com/SciML/FastDEQ.jl)

## Scipts

* [ImageNet Classification using Metalhead.jl Models](https://github.com/avik-pal/Lux.jl/tree/main/examples/ImageNet)


## Packages

See [Ecosystem](introduction/ecosystem.md) for more details
73 changes: 64 additions & 9 deletions docs/src/introduction/ecosystem.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,67 @@
# Extended Deep Learning Ecosystem
# Ecosystem

## Frameworks extending Lux

- [Boltz.jl](https://github.com/avik-pal/Lux.jl/tree/main/lib/Boltz) -- Prebuilt deep learning models for image classification tasks
- [DeepEquilibriumNetworks.jl](https://github.com/SciML/DeepEquilibriumNetworks.jl) -- Continuous and Discrete Deep Equilibrium Networks
- [DiffEqFlux.jl](https://github.com/SciML/DiffEqFlux.jl) -- Neural Differential Equations, Continuous Normalizing Flows, etc.

## Extended Julia Ecosystem

As you might have noticed we don't do much apart from Neural Networks. All other parts of the DL training/evaluation pipeline should be offloaded to:

* Data Manipulation/Loading -- [Augmentor.jl](https://evizero.github.io/Augmentor.jl/stable/), [DataLoaders.jl](https://lorenzoh.github.io/DataLoaders.jl/docs/dev/), [Images.jl](https://juliaimages.org/stable/), [DataAugmentation.jl](https://lorenzoh.github.io/DataAugmentation.jl/dev/README.md.html)
* Optimisation -- [Optimisers.jl](https://github.com/FluxML/Optimisers.jl), [ParameterSchedulers.jl](https://darsnack.github.io/ParameterSchedulers.jl/dev/README.html)
* Automatic Differentiation -- [Zygote.jl](https://github.com/FluxML/Zygote.jl) _(Default AD)_, [Enzyme.jl](https://github.com/EnzymeAD/Enzyme.jl) _(Experimental Support)_
* Parameter Manipulation -- [Functors.jl](https://fluxml.ai/Functors.jl/stable/)
* Model Checkpointing -- [Serialization.jl](https://docs.julialang.org/en/v1/stdlib/Serialization/)
* Activation Functions / Common Neural Network Primitives -- [NNlib.jl](https://fluxml.ai/Flux.jl/stable/models/nnlib/)
* Distributed DataParallel Training -- [FluxMPI.jl](https://github.com/avik-pal/FluxMPI.jl)
* Training Visualization -- [Wandb.jl](https://github.com/avik-pal/Wandb.jl), [TensorBoardLogger.jl](https://github.com/PhilipVinc/TensorBoardLogger.jl)

### Automatic Differentiation

- [Zygote.jl](https://github.com/FluxML/Zygote.jl) -- Currently the default and recommended AD library
- [Enzyme.jl](https://github.com/EnzymeAD/Enzyme.jl) -- Experimental Support (but will most likely become the future default)
- [ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl) -- For forward mode AD support
- [ReverseDiff.jl](https://github.com/JuliaDiff/ReverseDiff.jl) -- Tape based reverse mode AD (mostly untested)


### Data Manipulation and Loading

- [Augmentor.jl](https://evizero.github.io/Augmentor.jl/stable/)
- [DataLoaders.jl](https://lorenzoh.github.io/DataLoaders.jl/docs/dev/)
- [Images.jl](https://juliaimages.org/stable/)
- [DataAugmentation.jl](https://lorenzoh.github.io/DataAugmentation.jl/dev/README.md.html)


### Distributed DataParallel Training

- [FluxMPI.jl](https://github.com/avik-pal/FluxMPI.jl)


### Neural Network Primitives

- [NNlib.jl](https://fluxml.ai/Flux.jl/stable/models/nnlib/)


### Optimisation

- [Optimisers.jl](https://github.com/FluxML/Optimisers.jl)
- [ParameterSchedulers.jl](https://darsnack.github.io/ParameterSchedulers.jl/dev/README.html)
- [Optimization.jl](http://optimization.sciml.ai/stable/)


### Parameter Manipulation

- [Functors.jl](https://fluxml.ai/Functors.jl/stable/)


### Serialization

- [Serialization.jl](https://docs.julialang.org/en/v1/stdlib/Serialization/)
- [JLD2.jl](https://github.com/JuliaIO/JLD2.jl)


### Testing Utilities

- [FiniteDifferences.jl](https://github.com/JuliaDiff/FiniteDifferences.jl) -- Finite Differencing. Useful for testing gradient correctness
- [JET.jl](https://aviatesk.github.io/JET.jl/dev/)


### Training Visualization & Logging

- [Wandb.jl](https://github.com/avik-pal/Wandb.jl)
- [TensorBoardLogger.jl](https://github.com/PhilipVinc/TensorBoardLogger.jl)

0 comments on commit 195041b

Please sign in to comment.