original_docstring: 
          Runs a single train step of the model.
          If batching is enable this will internally handle batching as well
          :param should_calculate_summaries: True if summaries/logs from this train step should be saved. False otherwise
          :param feed_dict: The inputs we feed into the model.
          :param epoch: What number iteration we should be on
          :return: The epoch number of the internal model state
          
docstring: Runs a single train step of the model.
  If batching is enable this will internally handle batching as well
docstring_tokens: Runs a single train step of the model . If batching is enable this will internally handle batching as well
code: def run_train_step(self, should_calculate_summaries, feed_dict=None, epoch=-1):
          """
          Runs a single train step of the model.
          If batching is enable this will internally handle batching as well
          :param should_calculate_summaries: True if summaries/logs from this train step should be saved. False otherwise
          :param feed_dict: The inputs we feed into the model.
          :param epoch: What number iteration we should be on
          :return: The epoch number of the internal model state
          """
  
          if epoch != -1:
              self.train_iteration = epoch
  
          should_summarize = should_calculate_summaries and self.summarize is not None and self.summary_writer is not None
  
          # perform one update of training
          if self.batch_size > self.mini_batch_size:
              _, = self.sess.run([self.iterator.initializer],
                            feed_dict=feed_dict)
              num_batches = math.ceil(float(self.batch_size) / float(self.mini_batch_size))
              # print('num batches', num_batches)
              counter = 0
              while counter < num_batches:
                  try:
                      result, summary_str = self.sess.run([
                          self.train_op,
                          self.summarize if should_summarize else self.no_op
                      ])
                      # emit summaries
                      if should_summarize:
                          self.summary_writer.add_summary(summary_str, self.train_iteration)
                          self.train_iteration += 1
                      counter += 1
                  except tf.errors.OutOfRangeError:
                      break
                  except Exception as e:
                      print(e)
              print('batch amount:', counter)
          else:
              result, summary_str = self.sess.run([
                  self.train_op,
                  self.summarize if should_summarize else self.no_op
              ],
                  feed_dict=feed_dict)
              # emit summaries
              if should_summarize:
                  self.summary_writer.add_summary(summary_str, self.train_iteration)
                  self.train_iteration += 1
          return self.train_iteration
code_tokens: def run_train_step ( self , should_calculate_summaries , feed_dict = None , epoch = - 1 ) : if epoch != - 1 : self . train_iteration = epoch should_summarize = should_calculate_summaries and self . summarize is not None and self . summary_writer is not None if self . batch_size > self . mini_batch_size : _ , = self . sess . run ( [ self . iterator . initializer ] , feed_dict = feed_dict ) num_batches = math . ceil ( float ( self . batch_size ) / float ( self . mini_batch_size ) ) counter = 0 while counter < num_batches : try : result , summary_str = self . sess . run ( [ self . train_op , self . summarize if should_summarize else self . no_op ] ) if should_summarize : self . summary_writer . add_summary ( summary_str , self . train_iteration ) self . train_iteration += 1 counter += 1 except tf . errors . OutOfRangeError : break except Exception as e : print ( e ) print ( 'batch amount:' , counter ) else : result , summary_str = self . sess . run ( [ self . train_op , self . summarize if should_summarize else self . no_op ] , feed_dict = feed_dict ) if should_summarize : self . summary_writer . add_summary ( summary_str , self . train_iteration ) self . train_iteration += 1 return self . train_iteration
short_docstring: Runs a single train step of the model.
short_docstring_tokens: Runs a single train step of the model .
comment: """
          Runs a single train step of the model.
          If batching is enable this will internally handle batching as well
          :param should_calculate_summaries: True if summaries/logs from this train step should be saved. False otherwise
          :param feed_dict: The inputs we feed into the model.
          :param epoch: What number iteration we should be on
          :return: The epoch number of the internal model state
          """$SEP$# perform one update of training
  $SEP$# print('num batches', num_batches)
  $SEP$# emit summaries
  $SEP$# emit summaries
  