Skip to content

Baby Abstract Reasoning Corpus (BabyARC) dataset engine, for generating grid-world-based abstract reasoning tasks on a large scale.

License

Notifications You must be signed in to change notification settings

frankaging/BabyARC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BabyARC

Baby Abstract Reasoning Corpus (BabyARC) dataset engine, for generating grid-world-based abstract reasoning tasks on a large scale. BabyARC's name is inspired by the Abstract Reasoning Corpus (ARC). The goal of this dataset engine is to generate concept, relation and reasoning pretraining data source for solving the ARC corpus.

Contents

Example

Here, we show concept and relation canvases can be generated using BabyARC:

Here, we show some simplified abstract reasoning tasks can be generated using BabyARC:

Usage

# generating concepts and relation canvases.
from code.dataset.dataset import *
demo_dataset = \
    BabyARCDataset(pretrained_obj_cache=os.path.join(get_root_dir(), 'concept_env/datasets/arc_objs.pt'),
                   save_directory="./BabyARCDataset/", 
                   object_limit=1, noise_level=0, 
                   canvas_size=8) # canvas makes w=h canvas

# Inplace object placement.
canvas_dict = demo_dataset.sample_single_canvas_by_core_edges(
    OrderedDict(
        [(('obj_0', 'obj_1'), 'SameColor'),
         (('obj_0', 'obj_2'), 'IsTouch')]
    ), 
    color_avail=[1,2,3],
    rainbow_prob=0.0,
    allow_connect=True, 
)

About

Baby Abstract Reasoning Corpus (BabyARC) dataset engine, for generating grid-world-based abstract reasoning tasks on a large scale.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published