using
FastAI
,
ImageShow
_show
(
reg
)
=
show
(
IOContext
(
stdout
,
:
displaysize
=>
(
60
,
80
)
)
,
reg
)
datasets
(
)
|>
_show
Registry(Datasets, 67 entries)
ID Name Size Is downloaded Tags Description Dataset loader Package
:id :name :size :downloaded :tags :description :loader :package
fastai/CUB_200_2011 CUB_200_2011 1GiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/bedroom bedroom 4.25GiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/caltech_101 caltech_101 126MiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/cifar10 cifar10 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/cifar100 cifar100 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/food-101 food-101 5.3GB ⨯ String[] 101 food categories, with 101,000 ima… DataDepLoader(...) FastAI
fastai/imagenette-160 imagenette-160 1.45GiB ⨯ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagenette-320 imagenette-320 missing ⨯ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagenette imagenette missing ⨯ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagenette2-160 imagenette2-160 missing ✔ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagenette2-320 imagenette2-320 missing ⨯ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagenette2 imagenette2 missing ⨯ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagewang-160 imagewang-160 182MiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/imagewang-320 imagewang-320 639MiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/imagewang imagewang missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/imagewoof-160 imagewoof-160 missing ⨯ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/imagewoof-320 imagewoof-320 missing ⨯ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/imagewoof imagewoof missing ⨯ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/imagewoof2-160 imagewoof2-160 missing ✔ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/imagewoof2-320 imagewoof2-320 313MB ⨯ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/imagewoof2 imagewoof2 1.25GiB ⨯ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
fastai/mnist_png mnist_png missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/mnist_var_size_tiny mnist_var_size_tiny missing ✔ String[] missing DataDepLoader(...) FastAI
fastai/oxford-102-flowers oxford-102-flowers missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/oxford-iiit-pet oxford-iiit-pet missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/stanford-cars stanford-cars missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/ag_news_csv ag_news_csv 11MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/amazon_review_full_csv amazon_review_full_csv 600MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/amazon_review_polarity_csv amazon_review_polarity_csv 600MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/dbpedia_csv dbpedia_csv 65MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/giga-fren giga-fren 2.4GB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/imdb imdb 140MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/sogou_news_csv sogou_news_csv 360MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/wikitext-103 wikitext-103 181MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/wikitext-2 wikitext-2 4MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/yahoo_answers_csv yahoo_answers_csv 305MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/yelp_review_full_csv yelp_review_full_csv 187MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/yelp_review_polarity_csv yelp_review_polarity_csv 158MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/biwi_head_pose biwi_head_pose 430MiB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/camvid camvid 571MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/pascal-voc pascal-voc 4.3GB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/pascal_2007 pascal_2007 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/pascal_2012 pascal_2012 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/siim_small siim_small missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/skin-lesion skin-lesion missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/tcga-small tcga-small missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/adult_sample adult_sample 3.8MB ✔ String[] missing DataDepLoader(...) FastAI
fastai/biwi_sample biwi_sample missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/camvid_tiny camvid_tiny missing ✔ String[] missing DataDepLoader(...) FastAI
fastai/dogscats dogscats 800MiB ✔ String[] missing DataDepLoader(...) FastAI
fastai/human_numbers human_numbers missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/imdb_sample imdb_sample 4KB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/mnist_sample mnist_sample 3MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/mnist_tiny mnist_tiny 300KB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/movie_lens_sample movie_lens_sample missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/planet_sample planet_sample 14.8MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/planet_tiny planet_tiny 1MB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco_sample coco_sample 3GB ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-train2017 coco-train2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-val2017 coco-val2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-test2017 coco-test2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-unlabeled2017 coco-unlabeled2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-image_info_test2017 coco-image_info_test2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-image_info_unlabeled2017 coco-image_info_unlabeled2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-annotations_trainval2017 coco-annotations_trainval2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-stuff_annotations_trainval2… coco-stuff_annotations_trainval2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
fastai/coco-panoptic_annotations_trainv… coco-panoptic_annotations_trainval2017 missing ⨯ String[] missing DataDepLoader(...) FastAI
We can get more information on a specific dataset:
datasets
(
)
[
"
fastai/imagewoof2-160
"
]
|>
_show
RegistryEntry(
id = fastai/imagewoof2-160 (String)
name = imagewoof2-160 (String)
size = missing (String)
downloaded = ✔ (Bool)
tags = String[] (Vector{String})
description = A subset of 10 harder to classify (String)
classes from Imagenet (all dog
breeds): Australian terrier, Border
terrier, Samoyed, beagle, Shih-Tzu,
English foxhound, Rhodesian
ridgeback, dingo, golden retriever,
Old English sheepdog
loader = DataDepLoader(...) (FastAI.Datasets.DatasetLoader)
package = FastAI (Module)
)
And load it, triggering a lazy download:
load
(
datasets
(
)
[
"
fastai/imagewoof2-160
"
]
)
Of course, to load datasets into a format that we can work with, FastAI.jl has so-called "dataset recipes".
datarecipes
(
)
|>
_show
Registry(Dataset recipes, 29 entries)
ID Dataset ID Block types Description Is downloaded Package Recipe
:id :datasetid :blocks :description :downloaded :package :recipe
vision/CUB_200_2011 fastai/CUB_200_2011 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette fastai/imagenette (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2 fastai/imagenette2 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang-320 fastai/imagewang-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_sample fastai/mnist_sample (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/pascal_2007 fastai/pascal_2007 (Image{2}, LabelMulti) missing ⨯ FastAI.Vision ImageTableMultiLabel(...)
vision/camvid fastai/camvid (Image{2}, Mask{2}) missing ⨯ FastAI.Vision ImageSegmentationFolders(...)
vision/camvid_tiny fastai/camvid_tiny (Image{2}, Mask{2}) missing ✔ FastAI.Vision ImageSegmentationFolders(...)
vision/imagenette-160 fastai/imagenette-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette-320 fastai/imagenette-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2-160 fastai/imagewoof2-160 (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
vision/cifar100 fastai/cifar100 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang-160 fastai/imagewang-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_var_size_tiny fastai/mnist_var_size_tiny (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
vision/cifar10 fastai/cifar10 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_png fastai/mnist_png (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/caltech_101 fastai/caltech_101 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/food-101 fastai/food-101 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2-320 fastai/imagenette2-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2 fastai/imagewoof2 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2-320 fastai/imagewoof2-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof-160 fastai/imagewoof-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof-320 fastai/imagewoof-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang fastai/imagewang (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_tiny fastai/mnist_tiny (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof fastai/imagewoof (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2-160 fastai/imagenette2-160 (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
tabular/adult_sample fastai/adult_sample TableRow missing ✔ FastAI.Tabular TableDatasetRecipe(...)
tabular/imdb_sample fastai/imdb_sample TableRow missing ⨯ FastAI.Tabular TableDatasetRecipe(...)
We can likewise look at an entry:
(
recipe
=
datarecipes
(
)
[
"
vision/imagewoof2-160
"
]
)
|>
_show
RegistryEntry(
id = vision/imagewoof2-160 (String)
datasetid = fastai/imagewoof2-160 (String)
blocks = (Image{2}, Label) (Any)
description = missing (String)
downloaded = ✔ (Bool)
package = FastAI.Vision (Module)
recipe = ImageFolders(...) (FastAI.Datasets.DatasetRecipe)
)
And load it, giving us a ready-to-use data container and blocks:
data
,
blocks
=
load
(
recipe
)
getobs
(
data
,
1
)
[
1
]
Finally, learning tasks can also be listed:
learningtasks
(
)
|>
_show
Registry(Learning tasks, 6 entries)
ID Name Block types Category Description Learning task Package
:id :name :blocks :category :description :constructor :package
vision/imageclfmulti Image classification (multi-label) (Image, LabelMulti) supervised Multi-label image classification task… ImageClassificationMulti (generic funct… FastAI.Vision
vision/imagekeypoint Image keypoint regression (Image, Keypoints) supervised Keypoint regression task with a fixed… ImageKeypointRegression (generic functi… FastAI.Vision
vision/imagesegmentation Image segmentation (Image, Mask) supervised Semantic segmentation task in which e… ImageSegmentation (generic function wit… FastAI.Vision
vision/imageclfsingle Image classification (single-label) (Image, Label) supervised Single-label image classification tas… ImageClassificationSingle (generic func… FastAI.Vision
tabular/clfsingle Tabular classification (single-label) (TableRow, Label) supervised Task where a table row with categoric… TabularClassificationSingle (generic fu… FastAI.Tabular
tabular/regression Tabular regression (TableRow, Continuous) supervised Task where a number of continuous var… TabularClassificationSingle (generic fu… FastAI.Tabular
learningtasks
(
)
[
"
vision/imageclfsingle
"
]
|>
_show
RegistryEntry(
id = vision/imageclfsingle (String)
name = Image classification (single-label) (String)
blocks = (Image, Label) (Any)
category = supervised (String)
description = Single-label image classification (String)
task where every image has a single
class label associated with it.
constructor = ImageClassificationSingle (generic function with 3 methods) (Any)
package = FastAI.Vision (Module)
)
task
=
load
(
learningtasks
(
)
[
"
vision/imageclfsingle
"
]
)
(
blocks
;
size
=
(
200
,
200
)
)
learner
=
tasklearner
(
task
,
data
)
Aside from listing a big table with features, we can also find entries that are relevant to us.
For example, find all the datasets that have already been downloaded:
datasets
(
downloaded
=
true
,
description
=
!
ismissing
)
|>
_show
Registry(Datasets, 2 entries)
ID Name Size Is downloaded Tags Description Dataset loader Package
:id :name :size :downloaded :tags :description :loader :package
fastai/imagenette2-160 imagenette2-160 missing ✔ String[] A subset of 10 easily classified clas… DataDepLoader(...) FastAI
fastai/imagewoof2-160 imagewoof2-160 missing ✔ String[] A subset of 10 harder to classify cla… DataDepLoader(...) FastAI
Find all dataset recipes with classification targets:
datarecipes
(
blocks
=
(
Any
,
Label
)
)
|>
_show
Registry(Dataset recipes, 24 entries)
ID Dataset ID Block types Description Is downloaded Package Recipe
:id :datasetid :blocks :description :downloaded :package :recipe
vision/CUB_200_2011 fastai/CUB_200_2011 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette fastai/imagenette (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2 fastai/imagenette2 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang-320 fastai/imagewang-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_sample fastai/mnist_sample (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette-160 fastai/imagenette-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette-320 fastai/imagenette-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2-160 fastai/imagewoof2-160 (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
vision/cifar100 fastai/cifar100 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang-160 fastai/imagewang-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_var_size_tiny fastai/mnist_var_size_tiny (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
vision/cifar10 fastai/cifar10 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_png fastai/mnist_png (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/caltech_101 fastai/caltech_101 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/food-101 fastai/food-101 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2-320 fastai/imagenette2-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2 fastai/imagewoof2 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof2-320 fastai/imagewoof2-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof-160 fastai/imagewoof-160 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof-320 fastai/imagewoof-320 (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewang fastai/imagewang (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/mnist_tiny fastai/mnist_tiny (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagewoof fastai/imagewoof (Image{2}, Label) missing ⨯ FastAI.Vision ImageFolders(...)
vision/imagenette2-160 fastai/imagenette2-160 (Image{2}, Label) missing ✔ FastAI.Vision ImageFolders(...)
Find all learning tasks with image inputs:
learningtasks
(
blocks
=
(
Image
,
Any
)
)
|>
_show
Registry(Learning tasks, 4 entries)
ID Name Block types Category Description Learning task Package
:id :name :blocks :category :description :constructor :package
vision/imageclfmulti Image classification (multi-label) (Image, LabelMulti) supervised Multi-label image classification task… ImageClassificationMulti (generic funct… FastAI.Vision
vision/imagekeypoint Image keypoint regression (Image, Keypoints) supervised Keypoint regression task with a fixed… ImageKeypointRegression (generic functi… FastAI.Vision
vision/imagesegmentation Image segmentation (Image, Mask) supervised Semantic segmentation task in which e… ImageSegmentation (generic function wit… FastAI.Vision
vision/imageclfsingle Image classification (single-label) (Image, Label) supervised Single-label image classification tas… ImageClassificationSingle (generic func… FastAI.Vision
This work will support other future efforts:
Domain libraries: make it easy for third-party libraries to contribute features (datasets, recipes, models, tasks, encodings...) and easy for users to discover these features.
No-code interfaces: having a consistent way to search for features and relating them to relevant
Block
s makes it possible to build no-code, dropdown-based interfaces to choose an appropriate dataset, find a learning task, or build a model for a task; and finally, train a model.