Skip to content

Latest commit

 

History

History
70 lines (54 loc) · 2.06 KB

README.md

File metadata and controls

70 lines (54 loc) · 2.06 KB

IBC-Lightning

python uv Ruff CI codecov

Lightning implementation of Implicit Behavioral Cloning.

Installation

pip install git+https://github.com/nomutin/IBC-Lightning.git

API

from torch import randn, nn
from ibc_lightning import IBC

states, actions = randn(10, 50, 64), randn(10, 50, 2)

ibc = IBC(
    state_encoder=nn.Linear(64, 16),
    energy_head=nn.Linear(16 + 2, 1),
    lower_bounds=(-1.0, -1.0),
    upper_bounds=(+1.0, +1.0),
)

# Predict energy
energy = ibc.forward(states=states, actions=actions)

# Predict action (derivative-free optimization)
action = ibc.inference(state=states[:, -1, :])

Example

Training script is in ./example/.

uv sync --extra train
poe train fit --config examples/config.yaml --trainer.devices [x]

References

@software{zakka2021ibc,
    author = {Zakka, Kevin},
    month = {10},
    title = {{A PyTorch Implementation of Implicit Behavioral Cloning}},
    url = {https://github.com/kevinzakka/ibc},
    version = {0.0.1},
    year = {2021}
}
@misc{florence2021implicit,
    title = {Implicit Behavioral Cloning},
    author = {Pete Florence and Corey Lynch and Andy Zeng and Oscar Ramirez and Ayzaan Wahid and Laura Downs and Adrian Wong and Johnny Lee and Igor Mordatch and Jonathan Tompson},
    year = {2021},
    eprint = {2109.00137},
    archivePrefix = {arXiv},
    primaryClass = {cs.RO}
}