Creating this as a place to gather ideas for documentation ideas for FastAI.jl as a way to organize but also to prioritize. Add any suggestions or ideas as a comment!
If possible, pieces of documentation should fall into one of these categories (see here for more details):
tutorial: learning-oriented resource for users unfamiliar with the library or a concept
how-to: straightforward instructions on using the library for x without too much background; focused on doing
reference: technical documentation, including docstrings and module/API overviews
background: more general discussions about implementation details or related concepts
❗ FastAI.jl for fast.ai users: Multi-part tutorial series to help fast.ai users get started with FastAI.jl
(Part 1) Julia Basics: Syntax basics, array programming
(Part 2) Flux.jl vs. PyTorch: Differences between the frameworks, code comparisons for building a model
(Part 3) FastAI.jl vs. fast.ai: Differences shown by comparing the code for a basic finetuning task. Pointers to more resources.
Using parts of the API separately: Explains how FastAI.jl is built on many decoupled packages and that you don't have to use all of them. For example, showing how to use the LearningMethod machinery with a regular Flux.jl training loop and, inversely, using a Learner but with a custom data iterator and no learning method.
Serving predictions on a web server: Reuses the trained model from the serialization tutorial and shows how to package it into a small HTTP server that can be used to get predictions.
Implementing callbacks: Go from using callbacks to implementing your own callbacks, and explore how several existing callbacks are implemented. (Basic version here)
Siamese image similarity: Showcase different parts of FastAI.jl's APIs to implement an image similarity learning task (original fast.ai tutorial), FastAI.jl#31
Progressive resizing: Explain the method and implement it by building on the presizing tutorial. Train a vision model using it.
Transfer learning: Explain transfer learning, backbones, pretrained models and the techniques used to successfully finetune them.
How-to
Implement callbacks: Checklist for implementing callbacks.
Evaluate models: Measuring performance on trained models
Reference
FastAI.jl vs. fast.ai cheatsheet: Compare concepts and their equivalents in both libraries.
Packages: Overview of packages that FastAI.jl depends on for different parts of its API: Flux.jl, DLPipelines.jl, DataAugmentation.jl, DataLoaders.jl, Metalhead.jl, ...
Creating this as a place to gather ideas for documentation ideas for FastAI.jl as a way to organize but also to prioritize. Add any suggestions or ideas as a comment!
If possible, pieces of documentation should fall into one of these categories (see here for more details):
Examples for each can be found in the current FastAI.jl documentation.
Ideas
LearningMethod
machinery with a regular Flux.jl training loop and, inversely, using aLearner
but with a custom data iterator and no learning method.