code: def _do_train_epoch(
      self,
      corpus_file,
      thread_id,
      offset,
      cython_vocab,
      thread_private_mem,
      cur_epoch,
      total_examples=None,
      total_words=None,
      **kwargs,
  ):
      work, neu1 = thread_private_mem
  
      if self.sg:
          examples, tally, raw_tally = train_epoch_sg(
              self,
              corpus_file,
              offset,
              cython_vocab,
              cur_epoch,
              total_examples,
              total_words,
              work,
              neu1,
          )
      else:
          examples, tally, raw_tally = train_epoch_cbow(
              self,
              corpus_file,
              offset,
              cython_vocab,
              cur_epoch,
              total_examples,
              total_words,
              work,
              neu1,
          )
  
      return examples, tally, raw_tally
  
imports: import logging
  import numpy
  from numpy import ones, vstack, float32
  import gensim.models._fasttext_bin
  from gensim.models.word2vec import Word2Vec
  from gensim.models.keyedvectors import KeyedVectors, prep_vectors
  from gensim import utils
  from gensim.utils import deprecated
  from gensim.models import keyedvectors
label_desc: Use image node_id 5 for calling the FastText obj's underlying member method code with example usage: obj._do_train_epoch(corpus_file, thread_id, offset, cython_vocab, thread_private_mem, cur_epoch, total_examples, total_words) and returns: examples,  tally,  raw_tally