message: Steps_per_epoch also need to be verified when `steps_per_run` is not specified
  Summary: TF2.1 only
  Reviewers: #tensorflow, simonl, #framework_ip_review_-_any_oss_or_third-party_code_use_has_been_approved, georgep
  Subscribers: georgep, grahamh
  Maniphest Tasks: T33061
diff: @@ -446,6 +446,21 @@ class _IpuModelBase(KerasModel):
  "multiplied by the replication factor (%d)." %
  (steps_per_epoch, steps_per_run, self.replication_factor))
  + # In the case when steps_per_run is not specified
  + elif (steps_per_epoch is not None
  + and steps_per_epoch % self.replication_factor != 0):
  + if mode == ModeKeys.TRAIN:
  + raise ValueError(
  + self.__class__.__name__ + " requires the number of steps in an "
  + "epoch 'steps_per_epoch' (%d) to be evenly divisible by the "
  + "replication factor (%d)." %
  + (steps_per_epoch, self.replication_factor))
  + else:
  + raise ValueError(
  + self.__class__.__name__ + " requires the number total of steps "
  + "'steps' (%d) to be evenly divisible by the replication factor"
  + " (%d)." % (steps_per_epoch, self.replication_factor))
  +
  # Find out how many mini-batches, steps, repeats, and outer loops.
  mini_batches_per_epoch = steps_per_epoch
  if mini_batches_per_epoch is not None:
  