Skip to main content

KalmanFormer - using transformer to model the Kalman Gain in Kalman Filters

Project description

KalmanFormer

Implementation of KalmanFormer.

The paper proposes learning the Kalman Gain directly from data using Transformers, bypassing the limitations of traditional Kalman Filters on non-linear systems.

Install

$ pip install kalmanformer

Usage

import torch
from kalmanformer import KalmanFormer

# kalmanformer

kalmanformer = KalmanFormer(
    state_dim = 3,
    obs_dim = 3,
    dim = 64,
    depth = 2,
    heads = 2,
    dim_head = 32,
    mlp_dim = 64
)

# mock observations

observations = torch.randn(2, 10, 3)

# state transition matrix f and observation matrix h

F = torch.randn(3, 3)
H = torch.randn(3, 3)

# initial state

x_0 = torch.zeros(2, 3)

# tracking over sequence

post_states = kalmanformer(
    observations,
    F,
    H,
    x_0 = x_0
)

assert post_states.shape == (2, 10, 3)

Citations

@article{Shen2025KalmanFormer,
    title   = {KalmanFormer: using transformer to model the Kalman Gain in Kalman Filters},
    author  = {Siyuan Shen and Jichen Chen and Guanfeng Yu and Zhengjun Zhai and Pujie Han},
    journal = {Frontiers in Neurorobotics},
    year    = {2025},
    volume  = {18},
    doi     = {10.3389/fnbot.2024.1460255}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kalmanformer-0.0.8.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kalmanformer-0.0.8-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file kalmanformer-0.0.8.tar.gz.

File metadata

  • Download URL: kalmanformer-0.0.8.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for kalmanformer-0.0.8.tar.gz
Algorithm Hash digest
SHA256 64c19ea3b8fb27ec22b67f7bb5e823def13962546e9a999cc8dd01db0b769e37
MD5 801549d04523191854dda18abc15bc13
BLAKE2b-256 c3cd549c30eabcddc45ebb60ce3d5342f9b06531488915eeb45de7e417343342

See more details on using hashes here.

File details

Details for the file kalmanformer-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for kalmanformer-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 74a408d904ad4dd8aee97384fa4dc7f89dbfa3f922f1989a02bf4ee2bb500a0d
MD5 85132ef96c2c8c8c90ed817b2f8fbf25
BLAKE2b-256 9f77172856eca147de615d8ae37a59919187e42314df9139c78d1807de8f85d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page