code: def _predict_future(data, ycovs, covariates, model, future, I):
      out = None
      for i in range(len(I) - 1):
          bdata = data[range(I[i], I[i + 1]), :]
          batch_ycovs = (
              ycovs[range(I[i], I[i + 1]), :, :]
              if ycovs is not None
              else None
          )
          cur_out = LocalModel.predict_future_batch(
              bdata,
              covariates,
              batch_ycovs,
              future,
              model,
          )
          out = (
              np.vstack([out, cur_out]) if out is not None else cur_out
          )
      return out
  
imports: import pickle
  import numpy
  import torch
  import torch.nn
  import torch.optim
  from torch.autograd import Variable
  from torch.nn.utils import weight_norm
  from zoo.chronos.model.tcmf.data_loader import TCMFDataLoader
  from zoo.chronos.model.tcmf.time import TimeCovariates
  import logging
label_desc: Use image node_id 10 for calling the LocalModel obj's underlying member method code with example usage: obj._predict_future(data, ycovs, covariates, model, future, I) and returns: out