FluxML / FastAI.jl

Repository of best practices for deep learning in Julia, inspired by fastai
https://fluxml.ai/FastAI.jl
MIT License
588 stars 51 forks source link

Register Everything #206

Closed lorenzoh closed 2 years ago

lorenzoh commented 2 years ago

FastAI.jl already has some functionality for discovering features as explained in this tutorial. This allows users to

These are two examples of a more general idea: a list of features with rich information that can be queried. This list can be extended by sub- and external modules to add functionality and make it available through a common interface. Here I propose the implementation of a more general Registry that is more flexible in what information can be stored and has a consistent interface for querying and extending.

There could be registries for the following groups of features (and more):

Having these registries would make it easier

Prototype

As an idea for the API, I've created a prototype registry that stores dataset information for the fastai datasets.

image

The information is incomplete for now, but we can already do some querying based on the columns:

image

Then select an entry and load it, downloading if it is not available:

image

Complete columns can also be extracted and worked with:

image


Having something like this just for the datasets or models may also be relevant to MLDatasets.jl or Metalhead.jl @CarloLucibello @darsnack