Thanks ptrblck for the reply 
I was trying to understand the difference between defining (midoutput) architecture in forward definition  and calling register_forward_hook function.
Why is it that I get a difference in predicting output if I use register_forward_hook.
It seems that  model(x,path) is more accurate.
Example -
Actual Output - [8.1009,7.4015,7.7013]
Predicted Output
By model(model(x,path=‘half1’),path=‘half2’) – [8.1009,7.4015,7.7013]
By register_forward_hook in fc3 layer and then calling model(activation[‘fc3’],path=‘half2’) – [8.3453,7.6397,7.9421]
There is a huge difference in the predictions.
The reason is activation [’‘fc3’’] and model(x,path=‘half1’) are not the same.
Any specific reason for this?
Regards,
Nithin