diff --git a/docs/make.jl b/docs/make.jl
index bae43d1e73..1d0f2ae10c 100644
--- a/docs/make.jl
+++ b/docs/make.jl
@@ -88,7 +88,7 @@ makedocs(; sitename="Lux.jl Documentation",
repo="github.com/LuxDL/Lux.jl", devbranch="main", devurl="dev",
deploy_url="https://lux.csail.mit.edu", deploy_decision),
draft=false,
- pages=pages)
+ pages)
deploydocs(; repo="github.com/LuxDL/Lux.jl.git",
push_preview=true, target="build", devbranch="main")
diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts
index c111c1c44c..624755d5a1 100644
--- a/docs/src/.vitepress/config.mts
+++ b/docs/src/.vitepress/config.mts
@@ -64,7 +64,7 @@ export default defineConfig({
{ text: 'Home', link: '/' },
{ text: 'Getting Started', link: '/introduction' },
{ text: 'Benchmarks', link: 'https://lux.csail.mit.edu/benchmarks/' },
- { text: 'Tutorials', link: '/tutorials' },
+ { text: 'Tutorials', link: '/tutorials/' },
{ text: 'Manual', link: '/manual/interface' },
{
text: 'API', items: [
@@ -120,7 +120,7 @@ export default defineConfig({
},
"/tutorials/": {
text: 'Tutorials', collapsed: false, items: [
- { text: 'Overview', link: '/tutorials' },
+ { text: 'Overview', link: '/tutorials/' },
{
text: 'Beginner', collapsed: false, items: [
{ text: 'Julia & Lux for the Uninitiated', link: '/tutorials/beginner/1_Basics' },
@@ -137,6 +137,25 @@ export default defineConfig({
{
text: 'Advanced', collapsed: false, items: [
{ text: 'Training a Neural ODE to Model Gravitational Waveforms', link: '/tutorials/advanced/1_GravitationalWaveForm' }]
+ },
+ {
+ text: '3rd Party Tutorials', collapsed: true, items: [
+ {
+ text: 'PINNs (NeuralPDE.jl)', link: 'https://docs.sciml.ai/NeuralPDE/stable/tutorials/pdesystem/'
+ },
+ {
+ text: 'UDEs (SciMLSensitivity.jl)', link: 'https://docs.sciml.ai/SciMLSensitivity/stable/tutorials/data_parallel/'
+ },
+ {
+ text: 'Neural DEs (DiffEqFlux.jl)', link: 'https://docs.sciml.ai/DiffEqFlux/stable/examples/neural_ode/'
+ },
+ {
+ text: 'DEQs (DeepEquilibriumNetworks.jl)', link: 'https://docs.sciml.ai/DeepEquilibriumNetworks/stable/tutorials/basic_mnist_deq/'
+ },
+ {
+ text: 'Medical Image Segmentation', link: 'https://github.com/Dale-Black/ComputerVisionTutorials.jl/'
+ }
+ ]
}]
},
"/manual/": {
diff --git a/docs/src/assets/android-chrome-192x192.png b/docs/src/assets/android-chrome-192x192.png
deleted file mode 100644
index 55483620af..0000000000
Binary files a/docs/src/assets/android-chrome-192x192.png and /dev/null differ
diff --git a/docs/src/assets/android-chrome-512x512.png b/docs/src/assets/android-chrome-512x512.png
deleted file mode 100644
index ad2732be1f..0000000000
Binary files a/docs/src/assets/android-chrome-512x512.png and /dev/null differ
diff --git a/docs/src/assets/apple-touch-icon.png b/docs/src/assets/apple-touch-icon.png
deleted file mode 100644
index bd238f5147..0000000000
Binary files a/docs/src/assets/apple-touch-icon.png and /dev/null differ
diff --git a/docs/src/assets/favicon-16x16.png b/docs/src/assets/favicon-16x16.png
deleted file mode 100644
index 1365c74d4c..0000000000
Binary files a/docs/src/assets/favicon-16x16.png and /dev/null differ
diff --git a/docs/src/assets/favicon-32x32.png b/docs/src/assets/favicon-32x32.png
deleted file mode 100644
index a303c49e06..0000000000
Binary files a/docs/src/assets/favicon-32x32.png and /dev/null differ
diff --git a/docs/src/assets/favicon.ico b/docs/src/assets/favicon.ico
deleted file mode 100644
index c4f81393f0..0000000000
Binary files a/docs/src/assets/favicon.ico and /dev/null differ
diff --git a/docs/src/assets/site.webmanifest b/docs/src/assets/site.webmanifest
deleted file mode 100644
index 45dc8a2065..0000000000
--- a/docs/src/assets/site.webmanifest
+++ /dev/null
@@ -1 +0,0 @@
-{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/docs/src/components/Gallery.vue b/docs/src/components/Gallery.vue
new file mode 100644
index 0000000000..e5cbed2c77
--- /dev/null
+++ b/docs/src/components/Gallery.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/src/components/GalleryImage.vue b/docs/src/components/GalleryImage.vue
new file mode 100644
index 0000000000..13be515cac
--- /dev/null
+++ b/docs/src/components/GalleryImage.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/src/public/blas_optimizations.jpg b/docs/src/public/blas_optimizations.jpg
new file mode 100644
index 0000000000..d615fe7b46
Binary files /dev/null and b/docs/src/public/blas_optimizations.jpg differ
diff --git a/docs/src/public/gravitational_waveform.png b/docs/src/public/gravitational_waveform.png
new file mode 100644
index 0000000000..39ba221401
Binary files /dev/null and b/docs/src/public/gravitational_waveform.png differ
diff --git a/docs/src/public/hypernet.jpg b/docs/src/public/hypernet.jpg
new file mode 100644
index 0000000000..7539f2f86e
Binary files /dev/null and b/docs/src/public/hypernet.jpg differ
diff --git a/docs/src/public/lstm-illustrative.webp b/docs/src/public/lstm-illustrative.webp
new file mode 100644
index 0000000000..d5353deeb9
Binary files /dev/null and b/docs/src/public/lstm-illustrative.webp differ
diff --git a/docs/src/assets/lux-logo-dark.svg b/docs/src/public/lux-logo-dark.svg
similarity index 100%
rename from docs/src/assets/lux-logo-dark.svg
rename to docs/src/public/lux-logo-dark.svg
diff --git a/docs/src/assets/lux-logo.svg b/docs/src/public/lux-logo.svg
similarity index 100%
rename from docs/src/assets/lux-logo.svg
rename to docs/src/public/lux-logo.svg
diff --git a/docs/src/public/mlp.webp b/docs/src/public/mlp.webp
new file mode 100644
index 0000000000..62446654d6
Binary files /dev/null and b/docs/src/public/mlp.webp differ
diff --git a/docs/src/public/mnist.jpg b/docs/src/public/mnist.jpg
new file mode 100644
index 0000000000..07ff1edd03
Binary files /dev/null and b/docs/src/public/mnist.jpg differ
diff --git a/docs/src/public/neural-sde.png b/docs/src/public/neural-sde.png
new file mode 100644
index 0000000000..90cc19d23d
Binary files /dev/null and b/docs/src/public/neural-sde.png differ
diff --git a/docs/src/public/pinn.gif b/docs/src/public/pinn.gif
new file mode 100644
index 0000000000..0f790ecb89
Binary files /dev/null and b/docs/src/public/pinn.gif differ
diff --git a/docs/src/public/weather-neural-ode.gif b/docs/src/public/weather-neural-ode.gif
new file mode 100644
index 0000000000..34c46737d1
Binary files /dev/null and b/docs/src/public/weather-neural-ode.gif differ
diff --git a/docs/src/tutorials/index.md b/docs/src/tutorials/index.md
index 0092a7608d..36b4afb4f9 100644
--- a/docs/src/tutorials/index.md
+++ b/docs/src/tutorials/index.md
@@ -1,145 +1,126 @@
```@raw html
----
-layout: page
----
+
-
-
- Tutorials
-
-
-
- Beginners Tutorials
-
-
-
-
-
-
- Intermediate Tutorials
-
-
-
-
-
-
- Advanced Tutorials
-
-
-
-
-
+# Tutorials
+
+## Beginner Tutorials
+
+
+
+## Intermediate Tutorials
+
+
+
+## Advanced Tutorials
+
+
+
+## Selected 3rd Party Tutorials
+
+::: warning
+
+These tutorials are developed by the community and may not be up-to-date with the latest
+version of `Lux.jl`. Please refer to the official documentation for the most up-to-date
+information.
+
+Please open an issue (ideally both at `Lux.jl` and at the downstream linked package) if any
+of them are non-functional and we will try to get them updated.
+
+:::
+
+
+
+
+::: tip
+
+If you found an amazing tutorial showcasing `Lux.jl` online, or wrote one yourself, please
+open an issue or PR to add it to the list!
+:::
```
diff --git a/docs/tutorials.jl b/docs/tutorials.jl
index 18d6c7affc..1eb7013c80 100644
--- a/docs/tutorials.jl
+++ b/docs/tutorials.jl
@@ -39,21 +39,17 @@ try
withenv("JULIA_DEBUG" => "Literate",
"PKG_LOG_PATH" => pkg_log_path, "LUX_PATH" => lux_path,
"JULIA_CUDA_HARD_MEMORY_LIMIT" => "$(CUDA_MEMORY_LIMIT)%",
- "OUTPUT_DIRECTORY" => joinpath(OUTPUT, d),
- "EXAMPLE_PATH" => p_, "EXAMPLE_NAME" => name,
- "JULIA_NUM_THREADS" => Threads.nthreads()) do
- cmd = `$(Base.julia_cmd()) --color=yes --project=$(tutorial_proj) -e \
+ "OUTPUT_DIRECTORY" => joinpath(OUTPUT, d), "EXAMPLE_PATH" => p_,
+ "EXAMPLE_NAME" => name, "JULIA_NUM_THREADS" => Threads.nthreads(),
+ "JULIA_PKG_PRECOMPILE_AUTO" => 0) do
+ cmd = `$(Base.julia_cmd()) --color=yes --startup-file=no --project=$(tutorial_proj) -e \
'using Pkg;
io=open(ENV["PKG_LOG_PATH"], "w");
Pkg.develop(; path=ENV["LUX_PATH"], io);
Pkg.instantiate(; io);
- Pkg.precompile(; io);
- eval(Meta.parse("using " * join(keys(Pkg.project().dependencies), ", ")));
- close(io)'`
- @info "Running Command: $(cmd)"
- run(cmd)
- cmd = `$(Base.julia_cmd()) --color=yes --project=$(tutorial_proj) -e \
- 'using Literate;
+ close(io);
+
+ using Literate;
function preprocess(path, str)
new_str = replace(str, "__DIR = @__DIR__" => "__DIR = \"$(dirname(path))\"")
appendix_code = "\n# ## Appendix\nusing InteractiveUtils\nInteractiveUtils.versioninfo()\nif @isdefined(LuxCUDA) && CUDA.functional(); println(); CUDA.versioninfo(); end\nif @isdefined(LuxAMDGPU) && LuxAMDGPU.functional(); println(); AMDGPU.versioninfo(); end\nnothing#hide"