code: def init_weights(self):
      val_range = (3.0 / self.n_d) ** 0.5
      params = (
          list(self.embedding_layer.parameters())
          + list(self.output_layer.parameters())
          + (list(self.rnn.parameters()) if self.args.lstm else [])
      )
      for p in params:
          if p.dim() > 1:  # matrix
              p.data.uniform_(-val_range, val_range)
          else:
              p.data.zero_()
  
imports: import sys
  import os
  import argparse
  import time
  import random
  import math
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.autograd import Variable
  import sru
label_desc: Use image node_id 2 for calling the Model obj's underlying member method code with example usage: obj.init_weights() without return types