Skip to main content

Generative Sparse Distributed Representations, a fast generative model

Project description

gsdr

Generative Sparse Distributed Representations, a fast generative model written in Python (Original C++ implementation https://github.com/222464/GSDR)

Dependencies

  • Python 3
  • Python libraries
    • numpy

Installation

pip install gsdr or clone and python setup.py install

Usage

(More extensive examples and IPython notebooks can be found in examples/)

With labeled data:

data, labels = ...

num_labels = 10

# Data: (batches, num_features)
# Labels: (batches,) (contains numbers from 0 to num_labels-1, eg. 10 for MNIST)

# Build the GSDR network (only one layer for now)
gsdr = GSDRStack()
gsdr.add(input_count=data.shape[1], hidden_count=256, sparsity=0.1, forced_latent_count=num_labels)

forced_latents = np.eye(num_labels)

# Train once for each data point
for i in range(data.shape[0]):
    gsdr.train(data[i], forced_latents={0: forced_latents[labels[i]]})

# Generate one example for each label
for i in range(num_labels):
    generated = gsdr.generate(forced_latents={0: forced_latents[i]})

With unlabeled data:

data = ...

# Data: (batches, num_features)

# Build the GSDR network (only one layer for now)
gsdr = GSDRStack()
gsdr.add(input_count=data.shape[1], hidden_count=256, sparsity=0.1)

# Train once for each data point
for i in range(data.shape[0]):
    gsdr.train(data[i])

states = np.eye(hidden_count)

# Generate one example for each one-hot state
for i in range(hidden_count):
    generated = gsdr.generate(states[i])

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
gsdr-0.1.1.zip (2.5 kB) Copy SHA256 hash SHA256 Source None Jul 24, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page