diff --git a/docs/make.jl b/docs/make.jl index e3eb38d6e..56e7703f7 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -65,6 +65,10 @@ makedocs(; "Advanced" => MAPPING["advanced"], "Additional Examples" => "examples.md", ], + "How do I..." => [ + "Convert my Flux model to Lux?" => "manual/flux_to_lux.md", + "Reuse parts of my Network? (aka Parameter Sharing)" => "manual/sharing_parameters.md", + ], "API" => [ "Layers" => "api/layers.md", "Functional" => "api/functional.md", diff --git a/docs/src/index.md b/docs/src/index.md index 3ce99d25e..b5fca9130 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -78,6 +78,7 @@ Having a high-level overview of how this documentation is structured will help y * `Introduction` -- Talks about why we wrote Lux and has pointers to frameworks in the extended julia ecosystem which might help users to get started with deep learning * `Examples` -- Contain tutorials of varying complexity. These contain worked examples of solving problems with Lux. Start here if you are new to Lux, or you have a particular problem class you want to model. +* `How do I...` -- Contains short examples and how to guides. * `API` -- Contains a complete list of the functions you can use in Lux. Look here if you want to know how to use a particular function. * `Design Docs` -- Contains information for people contributing to Lux development or writing Lux extensions. Don't worry about this section if you are using Lux to formulate and solve problems as a user. diff --git a/docs/src/introduction/overview.md b/docs/src/introduction/overview.md index 2a15ee972..b932e60ac 100644 --- a/docs/src/introduction/overview.md +++ b/docs/src/introduction/overview.md @@ -37,3 +37,6 @@ We provide 2 abstract layers: * *All layers are deterministic* given the parameter and state -- if the layer is supposed to be stochastic (say `Dropout`), the state must contain a seed which is then updated after the function call. * **Easy Parameter Manipulation** -- Wondering why Flux doesn't have `WeightNorm`, `SpectralNorm`, etc. The implicit parameter handling makes it extremely hard to pass parameters around without mutations which AD systems don't like. With Lux implementing them is outright simple. +# Why not use Lux? + + diff --git a/docs/src/manual/flux_to_lux.md b/docs/src/manual/flux_to_lux.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/src/manual/sharing_parameters.md b/docs/src/manual/sharing_parameters.md new file mode 100644 index 000000000..b64d4d00d --- /dev/null +++ b/docs/src/manual/sharing_parameters.md @@ -0,0 +1,4 @@ +# How do I Reuse Parts of my Network ? (aka Parameter Sharing) + +This guide is taken from a [discourse question](https://discourse.julialang.org/t/siamese-network-in-lux-jl-re-using-parts-of-network/82013) +