          for side, batcher in self.batchers.items():
              loss[side] = batcher.train_one_batch(is_preview_iteration)
              if not is_preview_iteration:
                  continue
              self.samples.images[side] = batcher.compile_sample(self.batch_size)
              if timelapse_kwargs:
                  self.timelapse.get_sample(side, timelapse_kwargs)
  
          self.model.state.increment_iterations()
  
          for side, side_loss in loss.items():
 
</s> remove             loss[side] = batcher.train_one_batch(is_preview_iteration)
            if not is_preview_iteration:
 </s> add             loss[side] = batcher.train_one_batch(do_preview)
            if not do_preview and not do_timelapse: </s> remove         is_preview_iteration = False if viewer is None else True
 </s> add         do_preview = False if viewer is None else True
        do_timelapse = False if timelapse_kwargs is None else True </s> remove         if log_queue and log_level is not None and mp.get_start_method() != "fork":
            set_root_logger(log_level, queue=log_queue)
 </s> add         set_root_logger(log_level, queue=log_queue) </s> remove         self._result_tokens = self.QUEUE()
 </s> add         self._result_tokens = out_queue
            if do_preview:
                self.samples.images[side] = batcher.compile_sample(self.batch_size)
            if do_timelapse:
          for side, batcher in self.batchers.items():
              loss[side] = batcher.train_one_batch(is_preview_iteration)
              if not is_preview_iteration:
                  continue
            if do_preview:
                self.samples.images[side] = batcher.compile_sample(self.batch_size)
            if do_timelapse:
            if do_preview:
                self.samples.images[side] = batcher.compile_sample(self.batch_size)
            if do_timelapse:
                  self.timelapse.get_sample(side, timelapse_kwargs)
  
          self.model.state.increment_iterations()
  
          for side, side_loss in loss.items():
keep keep keep keep replace replace keep keep keep keep keep
 Minor FixedProducerDispatcher changes. Fix timelapse bug 
plugins/train/trainer/_base.py