Problem: In any ML task using neural networks when using the generally available pre-trained models, the task of training the model is greatly minimized because of the pre-trained weights which can take a very long time to train otherwise. However, this is not always possible especially when using a custom network model. But still it is sometime possible to use…

## Different results on different batch sizes? Culprit : Batch Normalization

We can train out model with or without using Batch Norm. Basically Batch Norm normalizes the activations (if used after each layer then it will normalize the activations after every layer). For this purpose it will learn two additional parameters in each of its use, mean and standard deviation. This extra flexibility helps to represent identity transformation and preserve the…

## Solution: optimizer got an empty parameter list

Recently while building a custom Pytorch model i got a puzzling error “ValueError: optimizer got an empty parameter list” which got some hours of troublshooting, only to find that it just needs a small trick. Reproducing the error: It usually happens when you have a model with your own defined parameters, e.g. consider following example with only one parameter: While…

## NLTK vs Spacy: Performance Comparison of NLP Libraries in Text Tokenization

Tokenized Text Computers do not actually understand human language because the only language they understand is binary (0s & 1s). This is also the case because we have so many languages and dialects. In order to make computers understand the natural language (the language humans write and speak) we need to convert it into a computers understandable format. While working…

## Finding closest pair of points in two disjoint sets of points

The finding nearest pair of points in two disjoint sets of points (or Polygons made of points) can be found in O(nlogn) computational complexity (with O(n) memory complexity). With ordinary tree or graph search, solving this is not possible because we do not know the starting and ending points in advance. The k-d binary search tree can used to solve…

## Addition without using any arthmetic operator

Often is this puzzle brought up to test someone’s ‘bits’ knowledge but it is rather straight forward to add two numbers (whole numbers). It works by same principle as we do it by Hand, i.e. add two numbers, Keep the carry and add it into the sum. In programming we can do it achieve the simple ‘addition’ via XOR operator i.e. ^…

## Minimum sliding Window Problem can be solved in O(n) rather easily

Several solutions to the minumum sliding window Problem actually create complexity but in my opinion it can solved with rather ease while still maintaining the time and Memory complexity at O(n). The idea is to basically create a temporary sum and Keep adding the new elements and subtracting the old elements as we scan the Array while keeping record of…

## SSAS : Save hours by automating the cube deployments!

Every now and then it is quite an overhead in large development environments to deploy the SSAS cubes at a large scale. Automating this process particularly helps when doing lots of changes in the SSDT (SQL Server data tools) in the development environment and when finished the changes then deploying the cubes in the UAT environment. Then after completion of…

## Junk Dimensions?!

Quite often SSAS/DWH designers face with the situation with several if not dozens of small what could be called small dimensions, e.g. Yes/No flags, status etc. To make each of them a separate dimension (say 20 different Yes/No flags dimensions) would simply clutter the data mart and eventually the SSAS cube. The convenient way in my opinion is to rather…