Skip to content

Commit

Permalink
Deploy documentation (Pollen.jl)
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions committed Nov 19, 2023
1 parent ba72397 commit d7bb11a
Show file tree
Hide file tree
Showing 995 changed files with 10,702 additions and 10,443 deletions.
2 changes: 1 addition & 1 deletion data/FluxTraining@dev/doc/CHANGELOG.md.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion data/FluxTraining@dev/doc/LICENSE.md.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"attributes":{"backlinks":[],"path":"/home/runner/.julia/packages/FluxTraining/xCOPx/LICENSE.md","title":"LICENSE"},"tag":"document","children":[{"attributes":{},"tag":"md","children":[{"attributes":{},"tag":"p","children":["MIT License"],"type":"node"},{"attributes":{},"tag":"p","children":["Copyright (c) 2020 lorenzoh ",{"attributes":{"href":"mailto:[email protected]","title":"","document_id":"mailto:[email protected]"},"tag":"reference","children":["[email protected]"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:"],"type":"node"},{"attributes":{},"tag":"p","children":["The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."],"type":"node"},{"attributes":{},"tag":"p","children":["THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."],"type":"node"}],"type":"node"}],"type":"node"}
{"attributes":{"backlinks":[],"path":"/home/runner/.julia/packages/FluxTraining/imTF4/LICENSE.md","title":"LICENSE"},"tag":"document","children":[{"attributes":{},"tag":"md","children":[{"attributes":{},"tag":"p","children":["MIT License"],"type":"node"},{"attributes":{},"tag":"p","children":["Copyright (c) 2020 lorenzoh ",{"attributes":{"href":"mailto:[email protected]","title":"","document_id":"mailto:[email protected]"},"tag":"reference","children":["[email protected]"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:"],"type":"node"},{"attributes":{},"tag":"p","children":["The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."],"type":"node"},{"attributes":{},"tag":"p","children":["THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."],"type":"node"}],"type":"node"}],"type":"node"}
2 changes: 1 addition & 1 deletion data/FluxTraining@dev/doc/README.md.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"attributes":{"backlinks":[{"tag":"document","title":"Models","docid":"FluxTraining@dev/doc/docs/background/model.md"},{"tag":"document","title":"Getting started","docid":"FluxTraining@dev/doc/docs/getting_started.md"},{"tag":"document","title":"Loss functions","docid":"FluxTraining@dev/doc/docs/background/lossfunction.md"}],"path":"/home/runner/.julia/packages/FluxTraining/xCOPx/docs/background/dataiterator.md","title":"Data iterators"},"tag":"document","children":[{"attributes":{},"tag":"md","children":[{"attributes":{},"tag":"h1","children":["Data iterators"],"type":"node"},{"attributes":{},"tag":"p","children":["A data iterator is an iterator over batches of the data that is used for one step of fitting. You can use different data iterators with this package, as long as they have the following properties."],"type":"node"},{"attributes":{},"tag":"p","children":["Firstly, you must be able to iterate over a data iterator:"],"type":"node"},{"attributes":{"lang":"julia"},"tag":"codeblock","children":[{"attributes":{},"tag":"julia","children":[{"attributes":{},"tag":"for","children":[{"attributes":{},"tag":"for","children":["for"],"type":"node"},{"attributes":{},"tag":"=","children":[{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"Identifier","children":["batch"],"type":"node"},{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"in","children":["in"],"type":"node"},{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"Identifier","children":["dataiter"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"block","children":[{"attributes":{},"tag":"NewlineWs","children":["\n "],"type":"node"},{"attributes":{},"tag":"Comment","children":["# step"],"type":"node"},{"attributes":{},"tag":"NewlineWs","children":["\n"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"end","children":["end"],"type":"node"}],"type":"node"}],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["The data iterator must also be compatible with the other components of the ",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Learner"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["Learner"],"type":"node"}],"type":"node"},". For the standard supervised learning step (",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Phases.TrainingPhase"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["TrainingPhase"],"type":"node"}],"type":"node"}," and ",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Phases.ValidationPhase"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["ValidationPhase"],"type":"node"}],"type":"node"},"), this means"],"type":"node"},{"attributes":{},"tag":"ul","children":[{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["batch"],"type":"node"}," is a tuple ",{"attributes":{},"tag":"code","children":["(xs, ys)"],"type":"node"}," of encoded inputs and targets,"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["xs"],"type":"node"}," is a valid input to the ",{"attributes":{"href":"/doc/docs/background/model.md","title":"","document_id":"FluxTraining@dev/doc/docs/background/model.md"},"tag":"reference","children":["model"],"type":"node"},", so ",{"attributes":{},"tag":"code","children":["ŷs = model(xs)"],"type":"node"},"; and"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["ys"],"type":"node"}," can be compared to the model output with the ",{"attributes":{"href":"/doc/docs/background/lossfunction.md","title":"","document_id":"FluxTraining@dev/doc/docs/background/lossfunction.md"},"tag":"reference","children":["loss function"],"type":"node"},", i.e. ",{"attributes":{},"tag":"code","children":["lossfn(ŷs, ys)"],"type":"node"}],"type":"node"}],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["If you are working with a ",{"attributes":{"href":"/doc/docs/tutorials/training.md","title":"","document_id":"FluxTraining@dev/doc/docs/tutorials/training.md"},"tag":"reference","children":["custom training loop"],"type":"node"},", you may need to satisfy additional or different properties."],"type":"node"},{"attributes":{},"tag":"h2","children":["Creating data iterators"],"type":"node"},{"attributes":{},"tag":"p","children":["The simplest data iterator is a vector of preloaded batches. This is what we're using in the ",{"attributes":{"href":"/doc/docs/tutorials/mnist.ipynb","title":"","document_id":"FluxTraining@dev/doc/docs/tutorials/mnist.ipynb"},"tag":"reference","children":["MNIST tutorial"],"type":"node"},". This is a fine approach for smaller datasets, but has some limitations."],"type":"node"},{"attributes":{},"tag":"p","children":["First of all, there is no principled way for doing things like splitting, subsetting and shuffling data. For this, we recommend using ",{"attributes":{"href":"https://github.com/JuliaML/MLDataPattern.jl","title":""},"tag":"a","children":["MLDataPattern.jl"],"type":"node"}," which provides this functionality and many more utilities for defining and working with datasets."],"type":"node"},{"attributes":{},"tag":"p","children":["Another issue is that of memory load: if the whole dataset is too large to be preloaded in to memory, we have to load individual batches during training. To do this in a way that doesn't slow down the training itself, we suggest using ",{"attributes":{"href":"https://github.com/lorenzoh/DataLoaders.jl","title":""},"tag":"a","children":["DataLoaders.jl"],"type":"node"},". DataLoaders.jl is compatible with MLDataPattern.jl and allows you to easily create efficient data iterators for out-of-memory datasets. The documentation of DataLoaders.jl also has a lot more information on working with large dataset for deep learning."],"type":"node"}],"type":"node"}],"type":"node"}
{"attributes":{"backlinks":[{"tag":"document","title":"Models","docid":"FluxTraining@dev/doc/docs/background/model.md"},{"tag":"document","title":"Getting started","docid":"FluxTraining@dev/doc/docs/getting_started.md"},{"tag":"document","title":"Loss functions","docid":"FluxTraining@dev/doc/docs/background/lossfunction.md"}],"path":"/home/runner/.julia/packages/FluxTraining/imTF4/docs/background/dataiterator.md","title":"Data iterators"},"tag":"document","children":[{"attributes":{},"tag":"md","children":[{"attributes":{},"tag":"h1","children":["Data iterators"],"type":"node"},{"attributes":{},"tag":"p","children":["A data iterator is an iterator over batches of the data that is used for one step of fitting. You can use different data iterators with this package, as long as they have the following properties."],"type":"node"},{"attributes":{},"tag":"p","children":["Firstly, you must be able to iterate over a data iterator:"],"type":"node"},{"attributes":{"lang":"julia"},"tag":"codeblock","children":[{"attributes":{},"tag":"julia","children":[{"attributes":{},"tag":"for","children":[{"attributes":{},"tag":"for","children":["for"],"type":"node"},{"attributes":{},"tag":"=","children":[{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"Identifier","children":["batch"],"type":"node"},{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"in","children":["in"],"type":"node"},{"attributes":{},"tag":"Whitespace","children":[" "],"type":"node"},{"attributes":{},"tag":"Identifier","children":["dataiter"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"block","children":[{"attributes":{},"tag":"NewlineWs","children":["\n "],"type":"node"},{"attributes":{},"tag":"Comment","children":["# step"],"type":"node"},{"attributes":{},"tag":"NewlineWs","children":["\n"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"end","children":["end"],"type":"node"}],"type":"node"}],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["The data iterator must also be compatible with the other components of the ",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Learner"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["Learner"],"type":"node"}],"type":"node"},". For the standard supervised learning step (",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Phases.TrainingPhase"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["TrainingPhase"],"type":"node"}],"type":"node"}," and ",{"attributes":{"reftype":"symbol","href":"#","title":"","document_id":"FluxTraining@dev/ref/FluxTraining.Phases.ValidationPhase"},"tag":"reference","children":[{"attributes":{},"tag":"code","children":["ValidationPhase"],"type":"node"}],"type":"node"},"), this means"],"type":"node"},{"attributes":{},"tag":"ul","children":[{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["batch"],"type":"node"}," is a tuple ",{"attributes":{},"tag":"code","children":["(xs, ys)"],"type":"node"}," of encoded inputs and targets,"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["xs"],"type":"node"}," is a valid input to the ",{"attributes":{"href":"/doc/docs/background/model.md","title":"","document_id":"FluxTraining@dev/doc/docs/background/model.md"},"tag":"reference","children":["model"],"type":"node"},", so ",{"attributes":{},"tag":"code","children":["ŷs = model(xs)"],"type":"node"},"; and"],"type":"node"}],"type":"node"},{"attributes":{},"tag":"li","children":[{"attributes":{},"tag":"p","children":[{"attributes":{},"tag":"code","children":["ys"],"type":"node"}," can be compared to the model output with the ",{"attributes":{"href":"/doc/docs/background/lossfunction.md","title":"","document_id":"FluxTraining@dev/doc/docs/background/lossfunction.md"},"tag":"reference","children":["loss function"],"type":"node"},", i.e. ",{"attributes":{},"tag":"code","children":["lossfn(ŷs, ys)"],"type":"node"}],"type":"node"}],"type":"node"}],"type":"node"},{"attributes":{},"tag":"p","children":["If you are working with a ",{"attributes":{"href":"/doc/docs/tutorials/training.md","title":"","document_id":"FluxTraining@dev/doc/docs/tutorials/training.md"},"tag":"reference","children":["custom training loop"],"type":"node"},", you may need to satisfy additional or different properties."],"type":"node"},{"attributes":{},"tag":"h2","children":["Creating data iterators"],"type":"node"},{"attributes":{},"tag":"p","children":["The simplest data iterator is a vector of preloaded batches. This is what we're using in the ",{"attributes":{"href":"/doc/docs/tutorials/mnist.ipynb","title":"","document_id":"FluxTraining@dev/doc/docs/tutorials/mnist.ipynb"},"tag":"reference","children":["MNIST tutorial"],"type":"node"},". This is a fine approach for smaller datasets, but has some limitations."],"type":"node"},{"attributes":{},"tag":"p","children":["First of all, there is no principled way for doing things like splitting, subsetting and shuffling data. For this, we recommend using ",{"attributes":{"href":"https://github.com/JuliaML/MLDataPattern.jl","title":""},"tag":"a","children":["MLDataPattern.jl"],"type":"node"}," which provides this functionality and many more utilities for defining and working with datasets."],"type":"node"},{"attributes":{},"tag":"p","children":["Another issue is that of memory load: if the whole dataset is too large to be preloaded in to memory, we have to load individual batches during training. To do this in a way that doesn't slow down the training itself, we suggest using ",{"attributes":{"href":"https://github.com/lorenzoh/DataLoaders.jl","title":""},"tag":"a","children":["DataLoaders.jl"],"type":"node"},". DataLoaders.jl is compatible with MLDataPattern.jl and allows you to easily create efficient data iterators for out-of-memory datasets. The documentation of DataLoaders.jl also has a lot more information on working with large dataset for deep learning."],"type":"node"}],"type":"node"}],"type":"node"}
Loading

0 comments on commit d7bb11a

Please sign in to comment.