code: def sanity_check(self):
          "Check the underlying data in the training set can be properly loaded."
          final_message = "You can deactivate this warning by passing `no_check=True`."
          if not hasattr(self.train_ds, 'items') or len(self.train_ds.items) == 0 or not hasattr(self.train_dl, 'batch_sampler'): return
          if len(self.train_dl) == 0:
              warn(f)
              print(final_message)
              return
          idx = next(iter(self.train_dl.batch_sampler))
          samples,fails = [],[]
          for i in idx:
              try:    samples.append(self.train_dl.dataset[i])
              except: fails.append(i)
          if len(fails) > 0:
              warn_msg = "There seems to be something wrong with your dataset, for example, in the first batch can't access"
              if len(fails) == len(idx):
                  warn_msg += f" any element of self.train_ds.\nTried: {show_some(idx)}"
              else:
                  warn_msg += f" these elements in self.train_ds: {show_some(fails)}"
              warn(warn_msg)
              print(final_message)
              return
          try: batch = self.collate_fn(samples)
          except:
              message = "It's not possible to collate samples of your dataset together in a batch."
              try:
                  shapes = [[o[i].data.shape for o in samples] for i in range(2)]
                  message += f'\nShapes of the inputs/targets:\n{shapes}'
              except: pass
              warn(message)
              print(final_message)
docs: Check the underlying data in the training set can be properly loaded.