Skip to content

Commit

Permalink
Merge branch 'master' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
wmcclinton committed May 22, 2024
2 parents 62e3970 + acc72dc commit 31ad359
Show file tree
Hide file tree
Showing 680 changed files with 13,222 additions and 2,440 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Default owners for all files.
* @nkumar-bdai @wmcclinton @tsilver-bdai
* @NishanthJKumar @wmcclinton @tsilver-bdai
15 changes: 7 additions & 8 deletions .github/workflows/predicators.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -40,16 +40,15 @@ jobs:
- name: Install dependencies
run: |
pip install -e .
pip install -U git+https://github.com/python/mypy.git@9a10967fdaa2ac077383b9eccded42829479ef31
# Note: if mypy issue #5485 gets resolved, we can install from head again.
pip install mypy==1.8.0
- name: Mypy
run: |
mypy . --config-file mypy.ini
lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -71,7 +70,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -95,7 +94,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -116,7 +115,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
python-version: ["3.10.14"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
__pycache__
*.pyc
.DS_Store
.vscode
*.egg-info
*.pkl
*~
Expand All @@ -19,7 +20,7 @@ logs
saved_approaches
saved_datasets
scripts/results
llm_cache
pretrained_model_cache
machines.txt
*_vision_data
tests/_fake_trajs
Expand Down
2 changes: 1 addition & 1 deletion .predicators_pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=numpy,pybullet,torch,tensorflow,pyrealsense2,cv2
extension-pkg-whitelist=numpy,pybullet,torch,tensorflow,pyrealsense2,cv2,scipy

# Add files or directories to the blacklist. They should be base names, not
# paths.
Expand Down
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@

## Repository Description

This codebase implements a framework for *bilevel planning with learned neuro-symbolic relational abstractions*, as described in [this paper](https://arxiv.org/abs/2203.09634). Several features are concurrently under active development. **Please contact <[email protected]> or <[email protected]> before attempting to use it for your own research.** In particular, this codebase aims to ultimately provide an integrated system for learning the ingredients of search-then-sample bilevel planning with learned abstractions. That includes: options, predicates, operators, and samplers.
This codebase implements a framework for *bilevel planning with learned neuro-symbolic relational abstractions*, as described in the following papers:

1. [Learning Symbolic Operators for Task and Motion Planning](https://arxiv.org/abs/2103.00589). Silver*, Chitnis*, Tenenbaum, Kaelbling, Lozano-Perez. IROS 2021.
2. [Learning Neuro-Symbolic Relational Transition Models for Bilevel Planning](https://arxiv.org/abs/2105.14074). Chitnis*, Silver*, Tenenbaum, Lozano-Perez, Kaelbling. IROS 2022.
3. [Learning Neuro-Symbolic Skills for Bilevel Planning](http://arxiv.org/abs/2206.10680). Silver, Athalye, Tenenbaum, Lozano-Perez, Kaelbling. CoRL 2022.
4. [Predicate Invention for Bilevel Planning](https://arxiv.org/abs/2203.09634). Silver*, Chitnis*, Kumar, McClinton, Lozano-Perez, Kaelbling, Tenenbaum. AAAI 2023.
5. [Embodied Active Learning of Relational State Abstractions for Bilevel Planning](https://arxiv.org/abs/2303.04912). Li, Silver. CoLLAs 2023.
6. [Learning Efficient Abstract Planning Models that Choose What to Predict](https://arxiv.org/abs/2208.07737). Kumar*, McClinton*, Chitnis, Silver, Lozano-Perez, Kaelbling. CoRL 2023.
7. [Practice Makes Perfect: Planning to Learn Skill Parameter Policies](https://arxiv.org/abs/2402.15025). Kumar*, Silver*, McClinton, Zhao, Proulx, Lozano-Perez, Kaelbling, Barry. Under Review 2024.

The codebase is still under active development. **Please contact <[email protected]> or <[email protected]> before attempting to use it for your own research.**

### Code Structure

Expand All @@ -18,7 +28,7 @@ Methods for predicate learning are implemented as Approaches (e.g., `predicators
A simple implementation of search-then-sample bilevel planning is provided in `predicators/planning.py`. This implementation uses the "SeSamE" strategy: SEarch-and-SAMple planning, then Execution.

## Installation
* This repository uses Python versions 3.8+.
* This repository uses Python versions 3.10-3.11. We recommend 3.10.14.
* Run `pip install -e .` to install dependencies.

## Instructions For Running Code
Expand Down
21 changes: 20 additions & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
strict_equality = True
disallow_untyped_calls = True
warn_unreachable = True
exclude = (predicators/envs/assets|predicators/third_party|venv)
exclude = (predicators/envs/assets|venv)

[mypy-predicators.*]
disallow_untyped_defs = True
Expand All @@ -15,6 +15,7 @@ ignore_missing_imports = True

[mypy-predicators.third_party.*]
ignore_missing_imports = True
ignore_errors = True

[mypy-setuptools.*]
ignore_missing_imports = True
Expand Down Expand Up @@ -118,3 +119,21 @@ ignore_missing_imports = True

[mypy-gymnasium_robotics.*]
ignore_missing_imports = True

[mypy-moviepy.*]
ignore_missing_imports = True

[mypy-google.protobuf.wrappers_pb2.*]
ignore_missing_imports = True

[mypy-pbrspot.*]
ignore_missing_imports = True

[mypy-ImageHash.*]
ignore_missing_imports = True

[mypy-google.*]
ignore_missing_imports = True

[mypy-google.generativeai.*]
ignore_missing_imports = True
Loading

0 comments on commit 31ad359

Please sign in to comment.