# Posts by Year

## 2023

## 2021

## Ghost of 3D Perception: Permutation Invariance Matters? Convolutions are Permutation Invariant!

Are you familiar with the python dictionary class? Let me give you a quick test to check your level of knowledge.

## Faster Neural Radiance Fields Inference

The Neural Radiance Fields (NeRF) proposed an interesting way to represent a 3D scene using an implicit network for high fidelity volumetric rendering. Compa...

## Setting Class Attributes in Python

Setting class attributes in python can be tedious. In this post, I want to summarize a trick that I’ve been using to simplify this process.

## Switching to Visual Studio Code

I’ve been using VIM for most of my Ph.D. years and one of the reasons why I stick with VIM is that I could just ssh to a remote server and recover environmen...

## Misconceptions about Memory and Good Documentation

Documentation probably is one of the most important tasks that no one has time for. I also overlook the importance as I get swept by a series of projects and...

## 2020

## 2018

## Pytorch Extension with a Makefile

Pytorch is a great neural network library that has both flexibility and power. Personally, I think it is the best neural network library for prototyping (adv...

## Short Note on Matrix Differentials and Backpropagation

Mathematical notation is the convention that we all use to denote a concept in a concise mathematical formulation, yet sometimes there is more than one way t...

## Regression vs. Classification: Distance and Divergence

In Machine Learning, supervised problems can be categorized into regression or classification problems. The categorization is quite intuitive as the name ind...

## Data Processing Inequality and Unsurprising Implications

We have heard enough about the great success of neural networks and how they are used in real problems. Today, I want to talk about how it was so successful ...

## 2017

## Learning Gaussian Process Covariances

A Gaussian process is a non-parametric model which can represent a complex function using a growing set of data. Unlike a neural network, which can also lear...

## Expectation Maximization and Variational Inference (Part 2)

In the previous post, we covered variational inference and how to derive update equations. In this post, we will go over a simple Gaussian Mixture Model with...

## Expectation Maximization and Variational Inference (Part 1)

Statistical inference involves finding the right model and parameters that represent the distribution of observations well. Let $\mathbf{x}$ be the observati...

## 2016

## 2015

## Caffe Python Layer

Python layer in Caffe can speed up development process Issue1703

## Gentle Introduction to Gaussian Process Regression

Parametric Regression uses a predefined function form to fit the data best (i.e, we make an assumption about the distribution of data by implicitly modeling ...

## Reading protobuf DB in Python

Reading protobuf DB in python

## Barycentric Coordinate for Surface Sampling

Fast way to sample points on a triangular mesh

## Making a Caffe Layer

Caffe is one of the most popular open-source neural network frameworks. It is modular, clean, and fast. Extending it is tricky but not as difficult as extend...

## Computing Neural Network Gradients

Gradient propagation is the crucial method for training a neural network