SciMLTutorials.jl holds PDFs, webpages, and interactive Jupyter notebooks showing how to utilize the software in the SciML Scientific Machine Learning ecosystem. This set of tutorials was made to complement the documentation and the devdocs by providing practical examples of the concepts. For more details, please consult the docs.
Note: this library has been deprecated and its tutorials have been moved to the repos of the respective packages. It may be revived in the future if there is a need for longer-form tutorials!
To view the SciML Tutorials, go to tutorials.sciml.ai. By default, this will lead to the latest tagged version of the tutorials. To see the in-development version of the tutorials, go to https://tutorials.sciml.ai/dev/.
Static outputs in pdf, markdown, and html reside in SciMLTutorialsOutput.
To generate the interactive notebooks, first install the SciMLTutorials, instantiate the
environment, and then run SciMLTutorials.open_notebooks()
. This looks as follows:
]add SciMLTutorials#master
]activate SciMLTutorials
]instantiate
using SciMLTutorials
SciMLTutorials.open_notebooks()
The tutorials will be generated at your pwd()
in a folder called generated_notebooks
.
Note that when running the tutorials, the packages are not automatically added. Thus you will need to add the packages manually or use the internal Project/Manifest tomls to instantiate the correct packages. This can be done by activating the folder of the tutorials. For example,
using Pkg
Pkg.activate(joinpath(pkgdir(SciMLTutorials),"tutorials","models"))
Pkg.instantiate()
will add all of the packages required to run any tutorial in the models
folder.
All of the files are generated from the Weave.jl files in the tutorials
folder. The generation process runs automatically,
and thus one does not necessarily need to test the Weave process locally. Instead, simply open a PR that adds/updates a
file in the "tutorials" folder and the PR will generate the tutorial on demand. Its artifacts can then be inspected in the
Buildkite as described below before merging. Note that it will use the Project.toml and Manifest.toml of the subfolder, so
any changes to dependencies requires that those are updated.
Report any bugs or issues at the SciMLTutorials repository.
To see tutorial results before merging, click into the BuildKite, click onto Artifacts, and then investigate the trained results.
To run the generation process, do for example:
]activate SciMLTutorials # Get all of the packages
using SciMLTutorials
SciMLTutorials.weave_file(joinpath(pkgdir(SciMLTutorials),"tutorials","models"),"01-classical_physics.jmd")
To generate all of the files in a folder, for example, run:
SciMLTutorials.weave_folder(joinpath(pkgdir(SciMLTutorials),"tutorials","models"))
To generate all of the notebooks, do:
SciMLTutorials.weave_all()
Each of the tuturials displays the computer characteristics at the bottom of the benchmark.