Skip to main content

A virtual environment that generates vision-language tasks with varying complexity.

Project description

Table of Contents

iWISDM

iWISDM, short for instructed-Virtual VISual Decision Making, is a virtual environment capable of generating a limitless array of vision-language tasks with varying complexity.

It is a toolkit designed to evaluate the ability of multimodal models to follow instructions in visual tasks. It builds on the compositional nature of human behavior, and the fact that complex tasks are often constructed by combining smaller task units together in time.

iWISDM encompasses a broad spectrum of subtasks that engage executive functions such as inhibition of action, working memory, attentional set, task switching, and schema generalization.

It is also a scalable and extensible framework which allows users to easily define their own task space and stimuli dataset.

Examples

Using iWISDM, we have compiled four distinct benchmarks of increasing complexity levels for evaluation of large multi-modal models.

Below is an example of the generated tasks:

Screenshot 2024-06-24 at 8 43 41 PM

benchmarking params

These datasets can be generated from /benchmarking or downloaded at: iWISDM_benchsets.tar.gz

iWISDM inherits several classes from COG (github.com/google/cog) to build task graphs. For convenience, we have also pre-implemented several commonly used cognitive tasks in task_bank.py.

For further details, please refer to our paper at:

https://arxiv.org/submit/5678755/view

Usage

Install Instructions

To install the iWISDM package, simply run the following command:

pip install iwisdm

If you would like to install the package from source, you can clone the repository and follow the instructions below:

Install Poetry

curl -sSL https://install.python-poetry.org | python3 -

Create conda python environment

conda create --name iwisdm python=3.11

Install dependencies

poetry install

ShapeNet Environment Initialization

To initialize the ShapeNet environment, you will need to download the ShapeNet dataset, this is for rendering the trials.

To replicate our experiments, you also need to download the benchmarking configurations.

ShapeNet is a large-scale repository of shapes represented by 3D CAD models of objects (Chang et. al. 2015).

Pre-rendered Dataset Download

shapenet_handpicked.tar.gz

Benchmarking Configs Download

configs.tar.gz

Basic Usage

# imports
from iwisdm import make
from iwisdm import read_write

# environment initialization
with open('your/path/to/env_config', 'r') as f:
    config = json.load(f)  # using pre-defined AutoTask configuration
env = make(
    env_id='ShapeNet',
    dataset_fp='your/path/to/shapenet_handpicked',
)
env.set_env_spec(
    env.init_env_spec(
        auto_gen_config=config,
    )
)

# AutoTask procedural task generation and saving trial
tasks = env.generate_tasks(10)  # generate 10 random task graphs and tasks
_, (_, temporal_task) = tasks[0]
trials = env.generate_trials(tasks=[temporal_task])  # generate a trial
imgs, _, info_dict = trials[0]
read_write.write_trial(imgs, info_dict, f'output/trial_{i}')

See /tutorials for more examples.

Acknowledgements

This repository builds upon the foundational work presented in the COG paper (Yang et al.).

Yang, Guangyu Robert, et al. "A dataset and architecture for visual reasoning with a working memory." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

Citation

If you find iWISDM useful in your research, please use the following BibTex:

@inproceedings{lei2024iwisdm,
  title={iWISDM: Assessing instruction following in multimodal models at scale},
  author={Lei, Xiaoxuan and Gomez, Lucas and Bai, Hao Yuan and Bashivan, Pouya},
  booktitle={Conference on Lifelong Learning Agents (CoLLAs 2024)},
  year={2024}
}

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

iwisdm-0.1.3.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iwisdm-0.1.3-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file iwisdm-0.1.3.tar.gz.

File metadata

  • Download URL: iwisdm-0.1.3.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.10

File hashes

Hashes for iwisdm-0.1.3.tar.gz
Algorithm Hash digest
SHA256 dd3dc1999a4bf7259e7b9703cd635e900d9d3199df30ad89d894f5dd893fc3b3
MD5 a42518b2f19cad1f78b39207adf486b1
BLAKE2b-256 02f9b1066a3b87f65ba99a35c2340e42e2e65386fe0f6f18bbc6b5c3b05d0997

See more details on using hashes here.

File details

Details for the file iwisdm-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: iwisdm-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.10

File hashes

Hashes for iwisdm-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3011d64825e7343cba1fc93f378f2e1afce8a0703e49d26d8ff59c33f8709998
MD5 498168f3b9284692de0d1dc75adc5cfb
BLAKE2b-256 1ecbbc915a414e00a329c4f5dc5bc66239dd7e004ae020c2d68e847aa8e60447

See more details on using hashes here.

Supported by

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