Hi @ptrblck, thanks for the feedback, yeah I have accessed it through index in my code.
I had encountered an error when I implemented it like this:
l2_reg = None

for i in model.named_parameters():
   if "layer_name.weight" in i[0]:
      if l2_reg is None:
         l2_reg = i[1].norm(2)**2
      else:
        l2_reg = l2_reg + i[1].norm(2)**2
batch_loss = some_loss_function + l2_reg * reg_lambda
batch_loss.backward()

RuntimeError: Trying to backward through the graph a second time, but the buffers have already been freed. Specify retain_graph = True when calling backward the first time 2"
After adding this line  batch_loss.backward(retain_graph=True) this works.
Though there exists a direct thread, may I take this opportunity to ask you if it is possible to avoid the use of  retain_graph=True in the above code?  I have read this increases the training time in each consecutive training iteration.Hence, I would like to avoid the use if possible.