class_docstr: VowpalWabbit Model: https://vowpalwabbit.org/
  
  VowpalWabbit Command Line args: https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Command-line-arguments
class_docstr_tok: ["VowpalWabbit","Model",":","https",":","\/\/vowpalwabbit.org\/","VowpalWabbit","Command","Line","args",":","https",":","\/\/github.com\/VowpalWabbit\/vowpal_wabbit\/wiki\/Command-line-arguments"]
code: def _train_single_epoch(self, training_data):
      row_order = np.arange(0, len(training_data))
      row_order = np.random.permutation(row_order)
      for row_i in row_order:
          row = training_data[row_i]
          self.model.learn(row)
  
imports: import logging
  import os
  import time
  import numpy
  import pandas
  from autogluon.common.features.types import R_CATEGORY, R_FLOAT, R_INT, R_OBJECT, S_IMAGE_PATH, S_TEXT_AS_CATEGORY, S_TEXT_NGRAM, S_TEXT_SPECIAL
  from autogluon.common.utils.try_import import try_import_vowpalwabbit
  from autogluon.core.constants import BINARY, MULTICLASS, PROBLEM_TYPES_CLASSIFICATION, PROBLEM_TYPES_REGRESSION, REGRESSION
  from autogluon.core.models import AbstractModel
  from autogluon.core.utils.exceptions import TimeLimitExceeded
  from .vowpalwabbit_utils import VWFeaturesConverter
label_desc: Use image node_id 4 for calling the VowpalWabbitModel obj's underlying member method code with example usage: obj._train_single_epoch(training_data) without return types