For the question 1, I think that register_buffer(name, tensor) does exactly what you want (see https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/module.py 53).
For 2, I think you should build self.conv and self.inter_conv as parameters (or buffers) in the constructor init and then call them into the forward. Then you make sure everything will be ok with allocations.