Towards improved generalization in few-shot classification
Dec 2019 by Tiago Ramalho
While state of the art deep learning methods can come close to human performance on several tasks (i.e. classification), we know they are not very data efficient. A human can often generalize from a single instance of a class, while deep learning models need to see thousands of examples to...

Dimensionality reduction 101: linear algebra, hidden variables and generative models
Apr 2015 by Tiago Ramalho
Suppose you are faced with a high dimensional dataset and want to find some structure in the data: often there are only a few causes, but lots of different data points are generated due to noise corruption. How can we infer these causes? Here I’m going to cover the simplest method to...

Parallel programming with opencl and python: parallel scan
Jun 2014 by Tiago Ramalho
This post will continue the subject of how to implement common algorithms in a parallel processor, which I started to discuss here. Today we come to the second pattern, the scan. An example is the cumulative sum, where you iterate over an array and calculate the sum of all elements up...

Parallel programming with opencl and python: parallel reduce
Jun 2014 by Tiago Ramalho
Once you know how to use python to run opencl kernels on your device (read Part I and Part II of this series) you need to start thinking about the programming patterns you will use. While many tasks are inherently parallel (like calculating the value of a function for N...

Parallel programming with opencl and python: vectors and concurrency
May 2014 by Tiago Ramalho
Last time we saw how to run some simple code on the gpu. Now let’s look at some particular aspects related to parallel programming we should be aware of. Since gpus are massively parallel processors, you’d expect you could write your kernel code for a single data piece, and by...

Older
Newer