Found a full solution, albeit messy and it’s not generalized for various layer types. It would have to be rewritten for, say, Conv2d, etc.
def update_features(model, attr, targ, ins, outs):
    setattr(model, attr, type(targ)(ins, outs))

def replace_network(model, new_params):
    c=0
    for attr in dir(model):
        targ=getattr(model,attr)
        if type(targ)==nn.Linear:
            print(new_params[c].size()[1],new_params[c].size()[0])
            update_features(model,attr,targ,new_params[c].size()[1],new_params[c].size()[0])
            c=c+2
    with torch.no_grad():
        for i, p in enumerate(model.parameters()):
            p.copy_(new_params[i])

replace_network(net,new_params)

Thanks for your input @ptrblck. I certainly don’t envy your job! And sorry for all the questions; just started learning Python 2 months ago and “torch”-ing about a week ago.
Cheers