Skip to content

Lightning implementation of Implicit Behavioral Cloning (IBC)

Notifications You must be signed in to change notification settings

nomutin/IBC-Lightning

Repository files navigation

IBC-Lightning

python Ruff CI codecov

Lightning implementation of Implicit Behavioral Cloning.

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.predict_step(state=states[:, -1, :])

Example

Training script is in ./examples/.

cd examples/ && python train.py fit --config config.yaml

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}
}

About

Lightning implementation of Implicit Behavioral Cloning (IBC)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages