Replying to my own question
I realized that I could use name_paratmer instead of state_dict
parameter_dict = dict(model.named_parameters())
for name, param in parameter_dict.items():
    if name.find('fc_cat')>0 or name.find('fc_kin_lin')>0:
        print('\n\n', name, 'layer parameters will be trained\n\n')
    else:
        if isinstance(param, Parameter):
            print(name, 'layer parameters are being frozen')
            param.requires_grad = False

That does the job for parameter freezing. BUT, I am getting problem with with BN layer off mode using the above solution gives me nan.
Thanks for any suggestion!