code: def init_hidden(self, batch_size):
          
  
          b = 2 if self.bidirectional else 1
          if self.use_cuda:
              return (
                  torch.zeros(self.num_layers * b, batch_size, self.lstm_hidden).cuda(),
                  torch.zeros(self.num_layers * b, batch_size, self.lstm_hidden).cuda(),
              )
          else:
              return (
                  torch.zeros(self.num_layers * b, batch_size, self.lstm_hidden),
                  torch.zeros(self.num_layers * b, batch_size, self.lstm_hidden),
              )
docs: Initiate the initial state.
  
          :param batch_size: batch size.
          :type batch_size: int
          :return: Initial state of LSTM
          :rtype: pair of torch.Tensors of shape (num_layers * num_directions,
              batch_size, hidden_size)