Hi @AjayTalati
looking at the article and code I think the trick with the weights during training is to change the weights before the forward pass. This is done before the  forward pass (line 1-6 in Algorithm 1 in the article or https://github.com/allenai/XNOR-Net/blob/master/util.lua#L111-L122 174 in the code).
The linear/convolution layers themselves are left unchanged as far as I can see.
The new binarization layer is later used for the inputs.
Best regards
Thomas