class_docstr: GATs Model
  
  Parameters
  ----------
  lr : float
      learning rate
  d_feat : int
      input dimensions for each time step
  metric : str
      the evaluation metric used in early stop
  optimizer : str
      optimizer name
  GPU : int
      the GPU ID used for training
class_docstr_tok: ["GATs","Model","Parameters","--","--","--","--","--","lr",":","float","learning","rate","d_feat",":","int","input","dimensions","for","each","time","step","metric",":","str","the","evaluation","metric","used","in","early","stop","optimizer",":","str","optimizer","name","GPU",":","int","the","GPU","ID","used","for","training"]
code: def get_daily_inter(self, df, shuffle=False):
      # organize the train data into daily batches
      daily_count = df.groupby(level=0).size().values
      daily_index = np.roll(np.cumsum(daily_count), 1)
      daily_index[0] = 0
      if shuffle:
          # shuffle data
          daily_shuffle = list(zip(daily_index, daily_count))
          np.random.shuffle(daily_shuffle)
          daily_index, daily_count = zip(*daily_shuffle)
      return daily_index, daily_count
  
imports: from __future__ import division
  from __future__ import print_function
  import numpy
  import pandas
  from typing import Text, Union
  import copy
  from ...utils import get_or_create_path
  from ...log import get_module_logger
  import torch
  import torch.nn
  import torch.optim
  from .pytorch_utils import count_parameters
  from ...model.base import Model
  from ...data.dataset import DatasetH
  from ...data.dataset.handler import DataHandlerLP
  from ...contrib.model.pytorch_lstm import LSTMModel
  from ...contrib.model.pytorch_gru import GRUModel
label_desc: Use image node_id 6 for calling the GATs obj's underlying member method code with example usage: obj.get_daily_inter(df, shuffle) and returns: daily_index,  daily_count