Tutorials for introducing the machine learning toolbox MLJ (Machine Learning in Julia)
Based on tutorials originally part of a 3.5 hour online workshop.
The tutorials are here.
Pluto notebooks, adapted from the original julia scripts by @roland-KA, are available here. These are not synchronized with the julia (and markdown) scripts and include some outdated API, especially in Tutorial 5.
The tutorials are embedded in Documenter.jl documentation, and live at /docs/src/notebooks/. The ground truth for content is the julia scripts, which must follow the Literate.jl rules for embedding the narrative as code comments.
Package management is through a workspace tree with the root Project.toml as stump. Each notebook getting its own Project.toml file in the workspace tree. The julia version is specified in the root Project.toml. There are no committed manifests, only project files with [compat] lower bounds.
After making changes to a julia script or any Project.toml file, post a pull request and CI will automatically generate new markdown (using Literate.jl), inviting you to review a new pull request committing the changes.
In more detail, to amend a tutorial:
- Edit the julia script for that tutorial and check it executes using an instantiated package environment based on the Project.toml in the same folder.
- Optionally, test markdown generation for that tutorial (see below) but do not commit any new markdown you generate.
- Post a pull request.
- Follow the instructions that should appear in the pull request conversation, after CI concludes.
If you add a new tutorial, you will need to:
- Add it to to the [workspace] in "docs/Project.toml"
- Add an entry to the
pagessection of "docs/make.jl" - Add it to the table of contents at "docs/src/index.md"
To test markdown generation locally, change to the root directory of your local MLJTutorial.jl clone, and run this in julia:
using Pkg
Pkg.activate("NotebookManagementToools")
using NotebookManagementTools
generate(joinpath("docs", "src", "notebooks", "02_models"))but change "02_models" to the tutorial you are testing. Remember, you are discouraged from committing the generated markdown changes to your pull request.