Coder Social home page Coder Social logo

minregret / tigercontrol Goto Github PK

View Code? Open in Web Editor NEW
38.0 9.0 3.0 19.1 MB

Google AI Princeton control framework

Home Page: https://tigercontrol.readthedocs.io/en/latest/

License: Apache License 2.0

Python 16.30% Jupyter Notebook 83.70%
control benchmarking pybullet autograd machine-learning python jax

tigercontrol's People

Contributors

alexanderjyu avatar danielsuo avatar i-am-karan-singh avatar johnhallman avatar lmftw avatar paula-gradu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tigercontrol's Issues

Experiment plot method

Implement a plot method for Experiment class, which allows users to immediately plot the results of their experiments.

Private models

Allow for the creation and registration of custom models

tutorials/demos

notes:

  • our experiments (using tigercontrol)
  • nataly's experiments

Bugfix: Kalman filter

Kalman filter calls jax.numpy.inv() and throws an error (works fine with regular numpy). Issue brought up with Peter, wait for his feedback.

Private datasets

New Problem type โ€” allow users to create a CustomProblem instance (name pending) which takes a locally stored dataset, owned by user, and creates a time-series out of it. Example implementation approach could be to let the problem.initialize method take the directory path to the dataset

Physics Engine

LONG TERM FEATURE - Create physics engine for control simulation (ex MuJoCo/Unity) to allow for future control Problems

Replace asserts with raise Errors

In non-test files (ex Models and Problems) where input is checked for correct shape and type, we have previously been using "asserts" instead of "try-except raise Error". We need to go through all our legacy code and fix this!

Model subclasses

The update method varies for different types of models. To resolve this issue, we have made the design choice of implementing model subclasses (TimeSeries, Control, etc) each with the same type of update rule (ex. TimeSeries takes a true label, prediction, params, and loss). Someone should implement these subclasses and place them in a new directory under models/subclasses or some other fitting name.

Autoregressive Model

The Linear model currently has no implementation, and will throw a NotImplementedError every time it is initialized. TODO: Implement a basic online ARMA model and make sure it passes the unit test.

Bugfix: Experiment inputs not generic

Experiment inputs aren't generic enough to work on arbitrary problems, currently throws errors on several problems, for example LDS because it does not pass it an input at every step.

Experiment auto-initialize

Automatic smart initialization of Problems and Models for the Experiment class (based on dimensionality of given problem) so that user doesn't have to call problem/model.initialize() for all the inputs

tasks

notes:

  • create folder in directory

Simple control Problem

Find a simple control Problem and implement it (simple enough that it can be used as a debugging tool)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.