Giter Site home page Giter Site logo

rkn's Introduction

Recurrent Kalman Networks

This is a new, cleaned up version of the Code used for the experiments described in the paper. We highly recommend you use this version, however, you can find the old version in the branch "icml_submission".

Update: We now also privde a pytorch version of the base model: https://github.com/ALRhub/rkn_share

Code

n_link_sim

Contains simulator for quad_link, see seperate readme

rkn

data

Code to generate the needed data sets

rkn

Implementation of the RKN as described in the paper

  • RKN: The full RKN consisting of encoder, RKNTransitionCell and decoder, implemented as subclass of keras.models.Model. Still abstract, the hidden structures of encoder and decoder need to be implemented for each experiment, see example experiments.
  • RKNTransitionCell the RKNTransitionCell as descirbed in the paper, implemented as sublcass of keras.layers.Layer in such a way that it can be used with keras.layers.RNN.

util

Utility functions

Experiments

Currently Implemented:

  • Pendulum State Estimation (Implemented and verified that the ICML results are reproduced)
  • Pendulum Image Imputation (Implemented and verified that the ICML results are reproduced)
  • Quad Link State Estimation (Implemented)
  • Quad Link Image Imputation (Implemented)

Dependencies

Tested with:

  • python 3.6
  • tensorflow 1.13.1 (both with and without GPU)
  • numpy 1.16
  • pillow 5.1.0 (only needed for data generation)

rkn's People

Contributors

kusanorootbeer avatar mfernandezcarmona avatar pbecker93 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

rkn's Issues

Reproducing pendulum state estimation - negative loss

Hi,

First of all thanks a lot for your great contribution!
I have recently attempted to reproduce the results for the
pendulum state estimation. However, I have encountered
the learning and validation loss becomes negative after a
few epochs:

Epoch 18/500
40/40 - 25s - loss: -2.5637e+00 - rmse: 0.2772 - val_loss: -2.5312e+00 - val_rmse: 0.2866

I don't know if it related or not but also I have the following
TF warnings.

WARNING:tensorflow:Gradients do not exist for variables ['pendulum_state_estem_rkn/rnn/rkn_transition_cell/tm_11_basis:0', 'pendulum_state_estem_rkn/rnn/rkn_transition_cell/tm_12_basis:0', 'pendulum_state_estem_rkn/rnn/rkn_transition_cell/tm_21_basis:0', 'pendulum_state_estem_rkn/rnn/rkn_transition_cell/tm_22_basis:0', 'pendulum_state_estem_rkn/rnn/rkn_transition_cell/log_transition_covar:0'] when minimizing the loss.

I have noticed that such variables are not being assigned
to any internal model variable (self).
Do you have any idea what could be happening?

Thanks in advance,
ANMG

code for KITTI experiment

Hi! Just read your paper and found it is quite interesting! Indeed a nice work!

May I know whether it is possible to share the KITTI experiment as well?

Thanks

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.