class_docstr: This class loads the AVMNIST data stored in a specified directory, and prepares it for training, validation, and testing.
  This class also takes care of the pre-processing steps such as reshaping and normalizing the data based on provided
  arguments. This includes options to flatten the audio and image data, normalize the image and audio data, and
  add a dimension to the data, often used to represent the channel in image or audio data.
  Furthermore, The class handles the splitting of data into training and validation sets. It provides separate data
  loaders for the training, validation, and testing sets, which can be used to iterate over the data during model
  training and evaluation.
  This data loader class simplifies the data preparation process for multimodal learning tasks, allowing the user to
  focus on model architecture and hyperparameter tuning.
  
  Args:
      data_dir (str): Directory of data.
      batch_size (int, optional): Batch size. Defaults to 40.
      flatten_audio (bool, optional): Whether to flatten audio data or not. Defaults to False.
      flatten_image (bool, optional): Whether to flatten image data or not. Defaults to False.
      unsqueeze_channel (bool, optional): Whether to unsqueeze any channels or not. Defaults to True.
      normalize_image (bool, optional): Whether to normalize the images before returning. Defaults to True.
      normalize_audio (bool, optional): Whether to normalize the audio before returning. Defaults to True.
code: def __init__(
      self,
      data_dir,
      batch_size=40,
      flatten_audio=False,
      flatten_image=False,
      unsqueeze_channel=True,
      normalize_image=True,
      normalize_audio=True,
  ):
      self.data_dir = data_dir
      self.flatten_audio = flatten_audio
      self.flatten_image = flatten_image
      self.unsqueeze_channel = unsqueeze_channel
      self.normalize_image = normalize_image
      self.normalize_audio = normalize_audio
      self.batch_size = batch_size
      self.load_data()
  
file_path: pykale/kale/loaddata/avmnist_datasets.py
imports: import numpy
  import torch
  from torch.utils.data import DataLoader
label_desc: Use image node_id 1 to create a new AVMNISTDataset object  with example: obj = AVMNISTDataset(data_dir, batch_size, flatten_audio, flatten_image, unsqueeze_channel, normalize_image, normalize_audio)