def TpuTrain(): loop_result = tpu_training_loop.repeat( self._train_steps_per_loop, TpuTrainStep, inputs=[], name='train_loop') return loop_result
def TpuEval(): loop_result = tpu_training_loop.repeat( self._steps_per_loop, TpuEvalStep, inputs=self._eval_metrics.initial_values, name='eval_loop') # Final metrics are the avg across self._steps_per_loop steps. return self._eval_metrics.FinalizeMetrics(loop_result)
def eval_loop(self): per_replica_eval_batch_size = self.eval_batch_size // self.num_replicas tf.get_variable_scope().reuse_variables() predictions = tf.zeros([self.eval_steps, per_replica_eval_batch_size, 2]) _, predictions = training_loop.repeat( int(self.eval_steps), self.eval_step, [tf.constant(0), predictions]) with tf.control_dependencies([tpu_ops.outfeed_enqueue_tuple([predictions]) ]): return tf.no_op()
def train_eval_loop(): return training_loop.repeat(self.hparams.max_train_epochs, train_eval_step, [])
def eval_loop(): if self.eval_steps > 0: return training_loop.repeat(self.eval_steps, tpu_eval_step, []) else: return tf.no_op()
def train_loop(): return training_loop.repeat(self.iterations, tpu_train_step, [_INITIAL_LOSS])
def TrainAndDecodeLoop(): tpu_training_loop.repeat( self.num_epochs_per_session_run, TrainAndDecode, inputs=[])
def DecodeLoopFn(): return tpu_training_loop.repeat( self._decode_steps_per_loop, _DecodeStep, inputs=[])
def train_eval_loop(): return training_loop.repeat(self.max_train_iterations, train_eval_step)
def train_loop(): return training_loop.repeat(self.iterations_per_loop, train_step, tf.constant(0))
def eval_loop(self): tf.get_variable_scope().reuse_variables() return training_loop.repeat(int(self.eval_steps), self.eval_step)