Computation Theory Part 2 - Complexity Classes and NP Completeness

Welcome to part 2 of the Computation Theory series! In the last post, we discussed decidability and the halting problem. In this post we will talk about complexity classes. Time Complexity If you’re not used to reasoning about algorithms and their complexity, there is an enormous amount of great material... [Read More]
Tags: CS, Theory, Computation, Polynomial, Time, P, NP

Computation Theory Part 1 - The Halting Problem

When you think about the most important fields of mathematics for a data scientist to know, you’ll almost certainly name calculus, probability/statistics, and linear algebra. These fields form the underpinnings of the most popular data analysis, signal processing and machine learning techniques. But in my experience, I’ve found that there... [Read More]
Tags: CS, Theory, Halting, Decidable, Decidability, P, NP

Parallel Progress Bar - An easy way to run parallel jobs in python

In this post I’m going to share a simple method that will turn any list comprehension into a high performance parallel job with a progress bar. tqdm If you are a python programmer who hasn’t worked with tqdm before, I’m about to change your life. With just 6 characters, tqdm... [Read More]
Tags: Python, Parallel, Concurrent, Futures, Progress, Bar, tqdm

Musical TensorFlow, Part 1 - How to build an RBM in TensorFlow for making music

Generative models are awesome. TensorFlow is awesome. Music is awesome. In this post, we’re going to use TensorFlow to build a generative model that can create snippets of music. I’m going to assume that you have a pretty good understanding of neural networks and backpropagation and are at least a... [Read More]
Tags: RBM, TensorFlow, Python, Music, Neural-Network