• Stars
    star
    146
  • Rank 251,992 (Top 5 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Maximum Entropy and Maximum Causal Entropy Inverse Reinforcement Learning Implementation in Python

Maximum Entropy Inverse Reinforcement Learning

This is a python implementation of the Maximum Entropy Inverse Reinforcement Learning (MaxEnt IRL) algorithm based on the similarly named paper by Ziebart et al. and the Maximum Causal Entropy Inverse Reinforcement Learning (MaxCausalEnt IRL) algorithm based on his PhD thesis. Project for the Advanced Seminar in Imitation Learning, summer term 2019, University of Stuttgart.

This implementation is available as python package at https://pypi.org/project/irl-maxent/ and can be installed via pip install irl-maxent. You may also want to have a look at the accompanying presentation.

For an example demonstrating how the Maximum (non-causal) Entropy IRL algorithm works, see the corresponding Jupyter notebook (notebooks/maxent.ipynb). Note that the provided python files (src/) contain a slightly more optimized implementation of the algorithms.

To run a demonstration without the notebook, you can directly run ./src/example.py. Also have a look at this file on how to use the provided framework. The framework contains:

  • Two GridWorld implementations for demonstration (irl_maxent.gridworld)
  • The algorithm implementations (irl_maxent.maxent)
  • A gradient based optimizer framework (irl_maxent.optimizer)
  • Plotting helper functions (irl_maxent.plot)
  • A MDP solver framework, i.e. value iteration and corresponding utilities (irl_maxent.solver)
  • A trajectory/trajectory generation framework (irl_maxent.trajectory)

This project solely relies on the following dependencies: numpy, matplotlib, itertools, and pytest.

More Repositories

1

pbpctrl

Control Google Pixel Buds Pro from the Linux command line.
Rust
18
star
2

autocomplete-racer

Rust auto-completion and hyperclick provider for the atom editor, using racer as back-end.
JavaScript
11
star
3

linux-surfacebook2-mshw0153

Linux Driver for Surface Book 2 dGPU Hot-Plug System (Power-State)
C
7
star
4

linux-surfacegen5-button-driver

Included in Linux 5.4 -- Outdated -- Linux Driver for Power and Volume Buttons on 5th Gen. Surface Devices (Surface Book 2, Surface Pro 2017, Surface Laptop)
5
star
5

linux-surface-pen-button-remap

Remapper for the Bluetooth (Eraser) Button of the Surface Pen (Work in Progress).
Rust
4
star
6

noisereduce

Experimental Project on Noise Reduction.
Rust
4
star
7

luks-keyfile-dracut

Automatically unlock LUKS partitions during boot via a key file on a USB stick.
Shell
3
star
8

serde_tagged

Tag values during serialization, retreive tags during deserialization.
Rust
3
star
9

digitizer-prototype

Algorithm prototyping for pen/stylus and touch digitizer input processing. Intended for use in https://github.com/linux-surface/iptsd/.
Jupyter Notebook
3
star
10

papr

PDF Annotator Prototype - Work in progress
C
3
star
11

avis

Experimental Audio Spectrum Visualizer using Vulkan
C++
2
star
12

aarch64-kernel-configs

Linux kernel development configs for AArch64 devices. Specifically the Surface Pro X.
2
star
13

WS17-NumSim-Final

Final project for the 2017/2018 Numerical Simulations course at the University of Stuttgart.
C++
2
star
14

linux-firmware-ipts-surfacebook2-kbl8

Note: This repository will no longer be updated. Please refer to https://github.com/linux-surface/surface-ipts-firmware instead.
Shell
2
star
15

linux-surfacegen5-button-autoremap

Auto-remap Surface Book 2/Surface Pro (2017) volume buttons based on device orientation (on Linux).
Python
2
star
16

kernel-pkgscripts

Heavily Customized Packaging-Scripts/Helpers for the Linux Surface Kernel (https://github.com/linux-surface/kernel/)
Shell
1
star
17

dotfiles-old

Personal Configuration Files - Outdated
Shell
1
star
18

usb-serial-bridge

Bridge converting USB-C to serial (TTL) back to USB-C.
1
star
19

git-tools

Shell
1
star
20

linux-surfacegen5-dtx-daemon

DEPRECATED: Please refer to https://github.com/qzed/linux-surface-dtx-daemon/
Python
1
star
21

dotfiles

Personal dotfiles. Managed via chezmoi.
Shell
1
star