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