code: def split_feature(input, segment_size):
      # split the feature into chunks of segment size
      # input is the features: (B, N, T)
  
      input, rest = _pad_segment(input, segment_size)
      batch_size, dim, seq_len = input.shape
      segment_stride = segment_size // 2
  
      segments1 = (
          input[:, :, :-segment_stride]
          .contiguous()
          .view(batch_size, dim, -1, segment_size)
      )
      segments2 = (
          input[:, :, segment_stride:]
          .contiguous()
          .view(batch_size, dim, -1, segment_size)
      )
      segments = (
          torch.cat([segments1, segments2], 3)
          .view(batch_size, dim, -1, segment_size)
          .transpose(2, 3)
      )
  
      return segments.contiguous(), rest
  
file_path: espnet/espnet2/enh/layers/dprnn.py
imports: import torch
  import torch.nn
  from torch.autograd import Variable
label_desc: Use image node_id 2 for calling a global function with example usage: split_feature(input, segment_size) and returns: segments,  rest