class_docstr: BERT language model pretraining.
class_docstr_tok: ["BERT","language","model","pretraining","."]
code: def _setup_preprocessed_dataloader(self, cfg: Optional[DictConfig]):
      dataset = cfg.data_file
      max_predictions_per_seq = cfg.max_predictions_per_seq
      batch_size = cfg.batch_size
  
      if os.path.isdir(dataset):
          files = [
              os.path.join(dataset, f)
              for f in os.listdir(dataset)
              if os.path.isfile(os.path.join(dataset, f))
          ]
      else:
          files = [dataset]
      files.sort()
      dl = BertPretrainingPreprocessedDataloader(
          data_files=files,
          max_predictions_per_seq=max_predictions_per_seq,
          batch_size=batch_size,
      )
      return dl
  
imports: import os
  from typing import Dict, Optional
  import torch
  from omegaconf import DictConfig, OmegaConf
  from pytorch_lightning import Trainer
  from torch.utils.data import DataLoader
  from nemo.collections.common.losses import AggregatorLoss, CrossEntropyLoss, SmoothedCrossEntropyLoss
  from nemo.collections.common.metrics import Perplexity
  from nemo.collections.nlp.data.language_modeling.lm_bert_dataset import BertPretrainingDataset, BertPretrainingPreprocessedDataloader
  from nemo.collections.nlp.modules.common import BertPretrainingTokenClassifier, SequenceClassifier
  from nemo.collections.nlp.modules.common.lm_utils import get_lm_model
  from nemo.collections.nlp.modules.common.tokenizer_utils import get_tokenizer
  from nemo.core.classes.common import PretrainedModelInfo, typecheck
  from nemo.core.classes.modelPT import ModelPT
  from nemo.core.neural_types import NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 13 for calling the BERTLMModel obj's underlying member method code with example usage: obj._setup_preprocessed_dataloader(cfg) and returns: dl