code: def train(self):
      train_data = ak.image_dataset_from_directory(self.data_path)
      self.model = self._create_model()
      logger.info(
          f"executing a {self.model.__class__.__name__} algorithm..."
      )
      logger.info(f"Training started...")
      self.model.fit(train_data, **self.training_args)
      logger.info("finished training!")
      self.save_desc_file()
      saved = self.save_model()
      if saved:
          logger.info(f"model saved successfully")
  
file_path: igel/igel/auto/cnn.py
imports: import json
  import logging
  import os
  import autokeras
  from igel.auto.defaults import Defaults
  from igel.auto.models import Models
  from igel.constants import Constants
  from igel.utils import read_json, read_yaml
  from tensorflow.keras.models import load_model
label_desc: Use image node_id 5 for calling the IgelCNN obj's underlying member method code with example usage: obj.train() without return types