UIC-InDeXLab / Chameleon

Foundation Models for Fairness-aware Multi-modal Data Augmentation to Enhance Coverage of Minorities

Home Page:https://uic-indexlab.github.io/Chameleon/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐ŸฆŽ Chameleon

Chameleon: Foundation Models for Fairness-aware Multi-modal Data Augmentation to Enhance Coverage of Minorities

Overview

Chameleon is a project developed by UIC-InDeXLab focusing on improving fairness in data representation. It leverages foundation models to perform multi-modal data augmentation, aiming to enhance the coverage of minority groups.

Installation

Chameleon has been developed using a micro-service architecture, each directory represents a microservice that can easily be modified. If you want to run the pre-configured project, we suggest using docker to build and develop the project.

๐Ÿณ Run Project Using Docker Image

In order to run the project using Docker, first make sure that you have docker and docker compose installed. In addition, ensure that your user has access to Docker service without sudo.

Then, clone the project and specify some environment variables for each microservice to work properly. Refer to the Configuration section for more details.

You can simply run the project using this command:

docker compose up --build 

๐Ÿ› ๏ธ Run Project from Scratch

If you want to develop the project from scratch, you need to create a virtual environment for each microservice and install the requirements. When you are done creating all virtual environments and installing the requirements, you can start the project by running:

bash start.sh

This command will activate each microservice independently and will run all projects.

If you need to develop and test only one microservice independent from others, follow these instructions:

  • Navigate to the microservice directory (cd microservice-dir/)
  • Create a virtual environment (python -m venv venv)
  • Install requirements (pip install -r requirements)
  • Add required environment variables to .env file
  • Run the project (uvicorn main:app --reload)

Note that Python 3.8 and Python 3.10 are the most suitable versions for microservices. We tried to future-proof the project as much as possible, and each project should work fine with Python version >= 3.8.

โš™๏ธ Configuration

Some microservices have some configurations in form of .env file that need to be configured in order to have a working project, since .env files are private files they all have been ignored in github but there is an .env-example file that has the default configuration, you can copy this file and rename it to .env for all projects except ImageEditor that needs your OPENAI credentials to contact DALL-E.

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Foundation Models for Fairness-aware Multi-modal Data Augmentation to Enhance Coverage of Minorities

https://uic-indexlab.github.io/Chameleon/

License:MIT License


Languages

Language:Jupyter Notebook 98.8%Language:Python 0.7%Language:JavaScript 0.4%Language:CSS 0.1%Language:Dockerfile 0.0%Language:HTML 0.0%Language:Shell 0.0%