All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- (BREAKING): Now uses MLUtils.jl to create and load datasets and data containers
- Replaces dependencies MLDataPattern.jl, LearnBase.jl, and DataLoaders.jl
- Data containers must now implement the
Base.getindex
/MLUtils.getobs
andBase.length
/MLUtils.numobs
interfaces. - Previously exported
MLDataPattern.datasubset
has been replaced byMLUtils.ObsView
- Documentation has been updated appropriately
- (BREAKING):
FastAI.Vision
now lives in a separate packageFastVision
that holds all computer vision-related functionality. - (BREAKING):
FastAI.Tabular
now lives in a separate packageFastTabular
that holds all tabular data-related functionality.
- (BREAKING):
FastAI.Models
submodule.Models
submodule of domain libraries, e.g.FastVision.Models
should now be used.
- Feature registries let you find datasets, data recipes and learning tasks for your projects. It is now easier to search for functionality related to kinds of data and load it. See the updated discovery tutorial
- @Chandu-444 added first support for text datasets, adding the
Paragraph
block andFastAI.Textual
submodule (#207)
- the old APIs for registries have been removed and functionality for accessing them (
finddatasets
,loaddataset
) has been deprecated. See the updated docs for how to find functionality using the new feature registries.
- Compatibility with FluxTraining.jl v0.3 (#223)
- New documentation frontend based on Pollen.jl: https://fluxml.ai/FastAI.jl/dev/i/
- Now supports Flux.jl v0.13 (#202)
- Now has ImageIO.jl as a dependency to ensure that fast jpg loading using JpegTurbo.jl is used
- Made block-based learning method more modular.
SupervisedMethod
now supplantsBlockMethod
. PRgetencodings
andgetblocks
should now be used to get block information and encodings from a method- See the [new tutorial training a Variational Autoencoder].
- See also the docstrings for
AbstractBlockTask
andSupervisedTask
- (BREAKING): all learning method names have been renamed to task, i.e
method*
->task*
andMethod*
->Task*
. Specifically, these exported symbols are affected:BlockMethod
->BlockTask
,describemethod
->describetask
,methodmodel
->taskmodel
,methoddataset
->taskdataset
,methoddataloaders
->taskdataloaders
,methodlossfn
->tasklossfn
,findlearningmethods
->findlearningtasks
,methodlearner
->tasklearner
,savemethodmodel
->savetaskmodel
,loadmethodmodel
->loadtaskmodel
BlockMethod
now deprecated in favor ofSupervisedMethod
- (INTERNAL) domain-specific functionality has moved to submodules
FastAI.Vision
(computer vision) andFastAI.Tabular
(tabular data). Exports ofFastAI
are not affected. - (INTERNAL) test suite now runs on InlineTest.jl
-
A new API for visualizing data. See this issue for motivation. This includes:
- High-level functions for visualizing data related to a learning method:
showsample
,showsamples
,showencodedsample
,showencodedsamples
,showbatch
,showprediction
,showpredictions
,showoutput
,showoutputs
,showoutputbatch
- Support for multiple backends, including a new text-based show backend that you can use to visualize data in a non-graphical environment. This is also the default unless
Makie
is imported. - Functions for showing blocks directly:
showblock
,showblocks
- Interfaces for extension:
ShowBackend
,showblock!
,showblocks!
- High-level functions for visualizing data related to a learning method:
- The old visualization API incl. all its
plot*
methods:plotbatch
,plotsample
,plotsamples
,plotpredictions
- High-level API "FasterAI"
- dataset recipes
- learning method helpers
- Find datasets and learning methods based on
Block
s:finddatasets
,findlearningmethods
loaddataset
for quickly loading data containers from configured recipes
- Data container recipes (
DatasetRecipe
,loadrecipe
) - Documentation setions for FasterAI interfaces:
- New interfaces
blockbackbone
creates a default backbone for an input block
- Support for tabular data along with recipes and learning methods:
- Documentation sections to reference FasterAI interfaces:
- README
- Introduction
- Data containers
- Combined how-tos on training into a single page
- Breaking changes to
methodlearner
:- now accepts
callbacks
as kwarg validdata
no longer keywordmodel
andbackbone
now kwargs;isbackbone
removed. if neitherbackbone
ormodel
are given, usesblockbackbone
for default backbone.- see updated docstring for details
- now accepts