<commit_before># Computation Through Dynamics

This repository contains a number of subprojects related to the interlinking of
computation and dynamics in artificial and biological neural systems.

This is not an officially supported Google product.

## LFADS - Latent Factor Analysis via Dynamics Systems

LFADS is a tool for inferring dynamics from noisy, high-dimensional observations
of a dynamics system.  It is a sequential auto-encoder with some very particular
bells and whistles.  Here we have released a tutorial version, written in
Python/Numpy/JAX intentionally implemented with readabilily, comprehension and
innovation in mind.

## Integrator RNN - Train a Vanilla RNN in JAX to integrate white noise.
Integration is a very simple task and highlights how to set up a loop over time,
batch over multiple input/target examples, use just-in-time compilation to speed
the computation up, and take a gradient in JAX.  The data from this example is
also used as input for the LFADS tutorial.
<commit_msg>Added prerequisites to readme<commit_after># Computation Through Dynamics

This repository contains a number of subprojects related to the
interlinking of computation and dynamics in artificial and biological
neural systems. This repository of highly related research projects.
It is not an officially supported Google product.


## Prerequisites

The code is written in Python 2.7.13. You will also need:

* **JAX** version 1.1.18 ([install](https://github.com/google/jax#installation)) -
* **NumPy, SciPy, Matplotlib** ([install SciPy stack](https://www.scipy.org/install.html), contains all of them)
* **h5py** ([install](https://pypi.python.org/pypi/h5py))


## LFADS - Latent Factor Analysis via Dynamics Systems

LFADS is a tool for inferring dynamics from noisy, high-dimensional observations
of a dynamics system.  It is a sequential auto-encoder with some very particular
bells and whistles.  Here we have released a tutorial version, written in
Python/Numpy/JAX intentionally implemented with readabilily, comprehension and
innovation in mind.

## Integrator RNN - Train a Vanilla RNN in JAX to integrate white noise.
Integration is a very simple task and highlights how to set up a loop over time,
batch over multiple input/target examples, use just-in-time compilation to speed
the computation up, and take a gradient in JAX.  The data from this example is
also used as input for the LFADS tutorial.

{'fraction_non_alphanumeric': 0.053217821782178217, 'fraction_numerical': 0.004125412541254125, 'mean_word_length': 4.71933962264151, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 3, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5138229', 'n_tokens_mistral': 645, 'n_tokens_neox': 598, 'n_words': 332}