Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time


About Safekit

Safekit is a python software package for anomaly detection from multivariate streams, developed for the AIMSAFE (Analysis in Motion Stream Adaptive Foraging for Evidence) project at Pacific Northwest National Laboratory. An exposition of the models in this package can be found in the papers:

The code of the toolkit is written in python using the tensorflow deep learning toolkit and numpy.


Dependencies required for installation:

  • Tensorflow 1.0 or above
  • Numpy
  • Scipy
  • Sklearn
  • Matplotlib

Python Distribution

Safekit is written in python 2. Most functionality should be forwards compatible.


A virtual environment is recommended for installation. Make sure that tensorflow 1.0+ is installed in your virtual environment.

Install tensorflow

From the terminal in your activated virtual environment: Follow instructions to install TF:

conda env

$ conda create -n safekit python=2.7
$ (safekit) source activate safekit
(safekit) $ export TF_BINARY_URL=
(safekit) $ export TF_BINARY_URL=
(safekit) $ pip install --ignore-installed --upgrade $TF_BINARY_URL
(safekit) $ git clone https:/
(safekit)) $ cd safekit/
(safekit) $ python develop

To test your installation, from the top level directory run:

$ tar -xjvf data_examples.tar.bz2
$ python test/ data_examples/lanl/agg_feats data_examples/cert/agg_feats test.log
$ python test/ data_examples/lanl/lm_feats/ test.log

These two tests should take about 10 to 15 minutes each depending on the processing capability of your system. The tests range over many different model configurations and can be used as a somewhat comprehensive tutorial on the functionality of the code base.


Github hosted documentation

Docs can be read locally from the cloned repo by opening safekit/docs/_build/html/index.html with a browser.