          logger.trace("Training one step: (iteration: %s)", self.model.iterations)
          is_preview_iteration = False if viewer is None else True
          loss = dict()
          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)
  
 
</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             self.samples.images[side] = batcher.compile_sample(self.batch_size)
            if timelapse_kwargs:
 </s> add             if do_preview:
                self.samples.images[side] = batcher.compile_sample(self.batch_size)
            if do_timelapse: </s> remove         batch = self.get_next(is_preview_iteration)
 </s> add         batch = self.get_next(do_preview) </s> remove     def train_one_batch(self, is_preview_iteration):
 </s> add     def train_one_batch(self, do_preview): </s> remove         self.target = batch[1] if is_preview_iteration else None
 </s> add         self.target = batch[1] if do_preview else None
            loss[side] = batcher.train_one_batch(do_preview)
            if not do_preview and not do_timelapse:
          logger.trace("Training one step: (iteration: %s)", self.model.iterations)
          is_preview_iteration = False if viewer is None else True
          loss = dict()
          for side, batcher in self.batchers.items():
            loss[side] = batcher.train_one_batch(do_preview)
            if not do_preview and not do_timelapse:
            loss[side] = batcher.train_one_batch(do_preview)
            if not do_preview and not do_timelapse:
                  continue
              self.samples.images[side] = batcher.compile_sample(self.batch_size)
              if timelapse_kwargs:
                  self.timelapse.get_sample(side, timelapse_kwargs)
  
keep keep keep keep replace replace keep keep keep keep keep
 Minor FixedProducerDispatcher changes. Fix timelapse bug 
plugins/train/trainer/_base.py