• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 4 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Parametric UMAP embeddings for representation and semisupervised learning. From the paper "Parametric UMAP: learning embeddings with deep neural networks for representation and semi-supervised learning" (Sainburg, McInnes, Gentner, 2020).

Open Example In Colab

Parametric UMAP (2020; Code for paper)

parametric-umap-algorithm

This repository contains the code needed to reproduce the results in the paper "Parametric UMAP: learning embeddings with deep neural networks for representation and semi-supervised learning" by Sainburg, McInnes, and Gentner (2020).

Citation:

@article{parametricumap,
  title={Parametric UMAP: learning embeddings with deep neural networks for representation and semi-supervised learning},
  author={Sainburg, Tim and McInnes, Leland and Gentner, Timothy Q},
}

How to use

The main implementation of this code is available in umap.parametric_umap in the UMAP repository (v0.5+). Most people reading this will want to use that code, and can ignore this repository.

The code in this repository is the 'messy' version. It has custom training loops which are a bit more verbose and customizable. It might be more useful for integrating UMAP into your custom models.

The code can be installed with python setup.py develop. Though, unless you're just trying to reproduce our results, you'll probably just want to pick through the notebooks and tfumap folder for the code relevant to your project.

In addition, we have a more verbose Colab notebook to walk you through the algorithm:

Parametric UMAP (verbose) Open In Colab

What's inside

This repo contains the code needed to produce all of the results in the paper. The network architectures we implement (in Tensorflow) are non-parametric UMAP, Parametric UMAP, a UMAP/AE hybrid, and a UMAP/classifier network hybrid.

network-outlines

The UMAP/classifier hybrid can be used for semisupervised learning on structured data. An example with the moons dataset is shown below, where in the left panel, the colored points are labeled training data, the grey points are unlabled data, and the background is the network's decision boundary.

semisupervised-example

The experiments inside use the following datasets and algorithms:

datasets


Project based on the cookiecutter data science project template. #cookiecutterdatascience

More Repositories

1

noisereduce

Noise reduction in python using spectral gating (speech, bioacoustics, audio, time-domain signals)
Jupyter Notebook
1,447
star
2

tensorflow2-generative-models

Implementations of a number of generative models in Tensorflow 2. GAN, VAE, Seq2Seq, VAEGAN, GAIA, Spectrogram Inversion. Everything is self contained in a jupyter notebook for easy export to colab.
Jupyter Notebook
996
star
3

Tensorflow-MultiGPU-VAE-GAN

A single jupyter notebook multi gpu VAE-GAN example with latent space algebra and receptive field visualizations.
Jupyter Notebook
441
star
4

python_spectrograms_and_inversion

Spectrograms, MFCCs, and Inversion Demo in a jupyter notebook
Jupyter Notebook
164
star
5

GAIA

Generative Adversarial Interpolative Autoencoder (GAIA) is a Generative Adversarial Network (GAN) made up of Autoencoders (AE) trained explicitly on interpolations to promote convexity and better latent interpolations.
Jupyter Notebook
77
star
6

AVGN

A generative network for animal vocalizations. For dimensionality reduction, sequencing, clustering, corpus-building, and generating novel 'stimulus spaces'. All with notebook examples using freely available datasets.
Jupyter Notebook
69
star
7

avgn_paper

Latent and generative models of animal vocalizations for songbirds, mice, primates, humans, cetaceans, etc.
Jupyter Notebook
42
star
8

tensorflow-2-feature-visualization-notebooks

Feature and class visualization with deep neural networks in tensorflow. Contains deepdream, style transfer, receptive field visualization, convolutional filter visualization, etc.
Jupyter Notebook
26
star
9

vocalization-segmentation

Simple python algorithms for segmenting animal (songbird, mice) vocalizations into notes and syllables using Dynamic Thresholding and Continuity Filtering.
Jupyter Notebook
26
star
10

birdbrain

A library for viewing songbird brain atlases (European starling, Canary, Zebra finch, Pigeon, Mustached bat)
Jupyter Notebook
20
star
11

curriculum_vitae

My Curriculum Vitae, generated in Python via Jinja from JSON fields into HTML. http://timsainburg.com/pages/cv.html
HTML
11
star
12

postdoc_salaries

Jupyter Notebook
5
star
13

automutualinformation

Auto Mutual Information (Sequential Mutual Information) for temporal data.
Jupyter Notebook
3
star
14

neuroethology_paper_2021

for 2021 current opinions paper
Jupyter Notebook
2
star
15

ParallelsBirdsongLanguagePaper

Code for the Paper "Parallels in the sequential organization of birdsong and human speech." Nature Communications (2019)
Jupyter Notebook
2
star
16

graph_research_notes

Graphing my grad school research notes using networkx and sigma.js
Jupyter Notebook
2
star
17

kinectacq

Acquisition from a Kinect rig
Jupyter Notebook
2
star
18

visualize_wordpress_posts

Visualizing Wordpress Posts using D3 forced directed networks
HTML
2
star
19

multicamera_acquisition

Synchronized machine vision acquisition across multiple cameras using an arduino (Supports FLIR and Basler)
Jupyter Notebook
2
star
20

LeabraExample

1
star
21

LongRangeSequentialOrgPaper

Jupyter Notebook
1
star
22

spikesorting-graph-examples

A quick example spikesorting graph to show the spikeinterface team
Jupyter Notebook
1
star
23

example_r_colab_project

Just a tiny example project for running your R code on colab
Jupyter Notebook
1
star
24

kinect_acquisition_template

Python
1
star