Skip to main content

An ARC Learning Environment built on Gymnasium

Project description

ARCLE - ARC Learning Environment

ARCLE is a lightweight Gymnasium (previously OpenAI Gym) environment for training on ARC(Abstraction and Reasoning Corpus) and ARC-like datasets.

Requirements

Python >= 3.8

Installation

pip install arcle

Changelogs

0.2.6

  • Env Changes

    • O2ARCv2Env is accessible via O2ARCEnv or O2ARCEnv-v2.
    • Unify type of observations into np.int8 (that were previously np.uint8)
    • Unify observation space into a dictionary of Box or MultiBinary to flatten observations properly by Gymnasium APIs
    • Remove over-conditioned (@abstractmethod) requirements of AbstractARCEnv. Now user must only override create_operations only.
  • Added action wrappers (BBoxWrapper, PointWrapper) to change selection to bounding box selection or one-point selection.

  • Loader now supports definable random number generator.

  • Orginized examples

  • Bug Fix

    • Fixed terminated is not emitted when max_trial is infinity (-1)

0.2.5

  • Python 3.8 Support (minimum requirements of Gymnasium)

  • Env Changes

    • Rename ARCEnv into RawARCEnv in this version.
    • Removed MiniARCEnv. Please use RawARCEnv with loader=MiniARCLoader() instead.
    • New ARCEnv added, consisting action space of ARC testing interface given along with the ARC Dataset.
    • States in every environments are fully observable. All state-related instance variables are now in the current_state dictionary.
      • All operations receives state and action, and it changes state in-place.
      • You can deepcopy the state and call env.transition(state_copied, action) to get next state without changing original state on O2ARCv2Env. env.transition will be replaced as separated utility function in the future.
    • n-trial mode added. You canset maximum trials when you call gym.make() by putting argument max_trial=num. Unlimited trial mode is available when it is set by -1 (default).
    • Customizable Submit operation. It is defined in each env class as a method, not in a separated module.
      • You can specify boolean option reset_on_submit in env.reset (default=False)
  • Bug fix

    • FloodFill operation without selection case fixed
    • Paste operation out-of-bound case fixed
    • CopyI operation out-of-bound case fixed
    • Apply patch exception handling

0.2.2

  • Bug fix
    • Default all-or-none reward now gives only when submitted. It affects to existing all environments.

0.2.1

  • O2ARCv2Env-v0
    • Changed ResizeGrid action to CropGrid action
    • Forced FloodFill action to select only one pixel (otherwise, it is NoOP)
    • Now CopyI, CopyO, Paste regards black pixels (pixel value 0) as a background. It copies pixels where the value is nonzero and the pixel is selected.
    • action['selection'] can handle int (automatically casts into np.bool_)
  • Several exceptions handling

0.2.0

  • ArcEnv-v0 & MiniArcEnv-v0 has renamed to ARCEnv-v0 & MiniARCEnv-v0.
  • Changed internal current_grid variable to grid & grid_dim
  • Added O2ARCv2Env-v0 environment.
  • Added O2ARC Actions
    • Uses selection and selected. Some internal variables should be initialized.
    • Color, Flood Fill(DFS Color)
    • Move, Rotate, Flip
    • Copy, Paste and Clipboard Features (For O2ARC)

0.1.1

  • Change Images
  • Fix minor issues

0.1.0

  • Initial Build.
  • ArcEnv-v0 & MiniArcEnv-v0 Launched.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arcle-0.2.6.tar.gz (327.2 kB view details)

Uploaded Source

Built Distribution

arcle-0.2.6-py3-none-any.whl (577.6 kB view details)

Uploaded Python 3

File details

Details for the file arcle-0.2.6.tar.gz.

File metadata

  • Download URL: arcle-0.2.6.tar.gz
  • Upload date:
  • Size: 327.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for arcle-0.2.6.tar.gz
Algorithm Hash digest
SHA256 e28a4fac1c9c8b162e3c4d6cfbb1da36b132db05b6d6db5908e0ed27468ff72f
MD5 54eb325fc4aa5b236d7ec8c6af757db2
BLAKE2b-256 e5fb07e3d15469e194463d28d806e3269776fe6931410442951b0876a4ce5c05

See more details on using hashes here.

File details

Details for the file arcle-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: arcle-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 577.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for arcle-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 62a27e4089e5b7175d286b725c44e0709a15104978e5699d0fc7b0fda23962a4
MD5 9010295dc22ff53c4abc0ea7aea3c862
BLAKE2b-256 22a565faa79d878c1370369567c390caada8332e68eba9dccff3f7924be19ffd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page