class_docstr: Arguments pertaining to what data we are going to input our model for training and eval.
class_docstr_tok: ["Arguments","pertaining","to","what","data","we","are","going","to","input","our","model","for","training","and","eval","."]
code: def __post_init__(self):
      if (
          self.dataset_name is None
          and self.train_file is None
          and self.validation_file is None
      ):
          raise ValueError(
              "Need either a dataset name or a training/validation file."
          )
      else:
          if self.train_file is not None:
              extension = self.train_file.split(".")[-1]
              assert extension in [
                  "csv",
                  "json",
                  "txt",
              ], "`train_file` should be a csv, a json or a txt file."
          if self.validation_file is not None:
              extension = self.validation_file.split(".")[-1]
              assert extension in [
                  "csv",
                  "json",
                  "txt",
              ], "`validation_file` should be a csv, a json or a txt file."
  
imports: import logging
  import os
  import sys
  from dataclasses import dataclass, field
  from pathlib import Path
  from typing import Dict, List, Optional, Tuple
  import numpy
  from datasets import load_dataset
  from tqdm import tqdm
  import jax
  import jax.numpy
  from flax import jax_utils
  from flax.optim import Adam
  from flax.training import common_utils
  from flax.training.common_utils import get_metrics
  from jax.nn import log_softmax
  from modeling_flax_performer import FlaxPerformerForMaskedLM
  from transformers import MODEL_FOR_MASKED_LM_MAPPING, AutoTokenizer, BertConfig, FlaxBertForMaskedLM, HfArgumentParser, PreTrainedTokenizerBase, TensorType, TrainingArguments, is_tensorboard_available, set_seed
label_desc: Use image node_id 1 for calling the DataTrainingArguments obj's underlying member method code with example usage: obj.__post_init__() without return types