Often times when we pass cv::Mat, we forget one important thing: OpenCV matrix does not respect the const modifier. In this post I would like to discuss what happens when cv::Mat is passed around.

Continue Reading ...

Problem Statement

The problem of the assignment is fairly straight-forward. To describe it, let us consider several examples

  • There are workers and tasks. You know exactly how much you need to pay each worker to perform one or another task. You also know that every worker can only perform one task. Your goal is to assign each worker some a task, while minimizing your expenses.
  • Given matrix of size , you need to select one element per row and column, such that the sum of all selected cells is minimized.
  • Given a matrix of size , find permutation of length , such taht is minimized
  • Given a complete bipartite graph with vertices with every edge having some weight. Find perfect matching for the graph with minimum weight.

Note: All the problems above assume a “square matrix”, that is dimensions. In practice this is rarely the case, and the dimensions are . In this case the goal is to match vertices.

Note: The minimization problem above could be converted to maximization problem by multiplying all weights by .

Continue Reading ...

We use machine learning almost everywhere now, and a lot of research is focused on improving the accuracy, improving the time it takes us to train the networks, improving the complexity, etc… I would like to contribute a little to a slightly different problem: how would we improve test time figures of merit?

Suppose you are controlling a robot using a machine learning algorithm, and would like to increase its battery life. If you don’t care about the training time, but test-time accuracy is important, but not as important as your battery life – how would you go about it?

We have recently released a work on hardware of the adaptive classifiers, but I wanted to give a more “people-friendly” explanation here

You can download the iPython Notebook that I used to generate the images here.

Continue Reading ...
not_notMNIST Dataset Generation
Image source: not_notMNIST GitHub

If you have ever worked with classification algorithms, you are definitely familiar with the MNIST dataset. If you are a little more involved with machine learning and especially classification, you have heard of the notMNIST as well.

However, if you always wanted to have your own dataset, but didn’t know how to use it – this post is for you!

Continue Reading ...
Contributing to TensorFlow Community
Image source: TensorFlow

Installing the TensorFlow (TF) is fairly well documented in the official documentation, however, when I was rewriting some of the parts, I had to get both the Stable and the Developer versions. In here I will go through TensorFlow installation for both versions in the VirtualEnv.

Continue Reading ...