GitXplorerGitXplorer
t

nlgoals

public
3 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
09be5650048388b8059e888602d6a1d2be50e477

multimodal array

tthesofakillers committed a year ago
Unverified
ad0f28ad8456a35263ef05a5d4253d5f2d6ecbbe

correct hparams

tthesofakillers committed a year ago
Unverified
59226a62c9786a670c36214feb7aa5ac272496af

at least 48 hrs

tthesofakillers committed a year ago
Unverified
29ae2cc964305cb06a03d2bd7c0386bd0c605592

use genoa cpu partition

tthesofakillers committed a year ago
Unverified
271b73f1bc67ee2925efe7748c87a2b59855d12f

skip validation since were taking model from end of training anyway

tthesofakillers committed a year ago
Unverified
1168b9a43f2a99a655f5dec94478f95e72f652b6

dont monitor -- save last checkpoint

tthesofakillers committed a year ago

README

The README file for this repository.

Addressing Goal Misgeneralization with Natural Language Interfaces

Official repository for my MSc thesis in Artificial Intelligence at the University of Amsterdam:

Addressing Goal Misgeneralization with Natural Language Interfaces

Find and read the thesis here or here.

Requirements and Setup

Details such as python and package versions can be found in the generated pyproject.toml and poetry.lock files.

We recommend using an environment manager such as conda. After setting up your environment with the correct python version, please proceed with the installation of the required packages

First, install the pre-requirements1:

pip install -r requirements/pre-reqs.txt

Then install the rest of the requirements:

pip install -r requirements/requirements-complete.txt

These requirements.txt file are generated by running gen_pip_reqs.sh

Project Organization

    ├── LICENSE
    ├── README.md          <- The top-level README
    ├── data/              <- Datasets
    ├── checkpoints/       <- Trained and serialized models.
    ├── notebooks/         <- Jupyter notebooks.
    ├── documents/         <- Documents as HTML, PDF, LaTeX, etc.
    ├── pyproject.toml     <- Project metadata, handled by poetry.
    ├── poetry.lock        <- Resolving and locking dependencies, handled by poetry.
    ├── requirements.txt   <- For non-poetry users.
    ├── gen_pip_reqs.sh    <- For generating the pip requirements.txt file
    ├── tests/             <- Tests
    ├── outputs/           <- Output files. Not committed.
    └── src/nlgoals/       <- Source code for use in this project.
        ├── __init__.py    <- Makes src a Python module
        ├── babyai/        <- (modified) code from babyai repo
        ├── configs/       <- Miscellaneaous configuration
        ├── utils.py       <- Miscellaneaous utils
        ├── data/          <- Data processing and handling
        ├── interfaces/    <- Logic for connecting datasets and models
        ├── models/        <- Model definitions
        ├── losses/        <- Custom loss function implementations
        ├── trainer/       <- Configurations for training
        └── run/           <- Scripts to train, evaluate and use models

The project structure is largely based on the cookiecutter data-science template. This is purposely opinionated so that paths align over collaborators without having to edit config files. Users may find the cookiecutter data-science opinions page, of relevance

The top level data/ and checkpoints/ directories are in version control only to show structure. Their contents will not be committed and are ignored via .gitignore.

Demo videos

"turn on the light bulb"

https://github.com/thesofakillers/nlgoals/assets/26286291/e6849007-11f0-44e9-9d66-3b2b575492fc

"go to the key"

https://github.com/thesofakillers/nlgoals/assets/26286291/4d8711f4-e53a-4c7f-bd2d-9fb5a2ee1bdb


  1. This annoying first step is necessary because of stupid packages we depend on like pyhash and multicoretsne that don't know how to get their dependencies sorted out like everyone else. See this issue and this issue. These two packages are the main culprits but other packages haven't been very good at defining their dependencies either.