def resnet_model_fn_helper(self, mode): """Tests that the EstimatorSpec is given the appropriate arguments.""" tf.train.create_global_step() features, labels = self.input_fn() spec = imagenet_main.resnet_model_fn( features, labels, mode, { 'resnet_size': 50, 'data_format': 'channels_last', 'batch_size': _BATCH_SIZE, }) predictions = spec.predictions self.assertAllEqual(predictions['probabilities'].shape, (_BATCH_SIZE, _LABEL_CLASSES)) self.assertEqual(predictions['probabilities'].dtype, tf.float32) self.assertAllEqual(predictions['classes'].shape, (_BATCH_SIZE, )) self.assertEqual(predictions['classes'].dtype, tf.int64) if mode != tf.estimator.ModeKeys.PREDICT: loss = spec.loss self.assertAllEqual(loss.shape, ()) self.assertEqual(loss.dtype, tf.float32) if mode == tf.estimator.ModeKeys.EVAL: eval_metric_ops = spec.eval_metric_ops self.assertAllEqual(eval_metric_ops['accuracy'][0].shape, ()) self.assertAllEqual(eval_metric_ops['accuracy'][1].shape, ()) self.assertEqual(eval_metric_ops['accuracy'][0].dtype, tf.float32) self.assertEqual(eval_metric_ops['accuracy'][1].dtype, tf.float32)
def resnet_model_fn_helper(self, mode): """Tests that the EstimatorSpec is given the appropriate arguments.""" tf.train.create_global_step() features, labels = self.input_fn() spec = imagenet_main.resnet_model_fn(features, labels, mode) predictions = spec.predictions self.assertAllEqual(predictions['probabilities'].shape, (FLAGS.train_batch_size, _LABEL_CLASSES)) self.assertEqual(predictions['probabilities'].dtype, tf.float32) self.assertAllEqual(predictions['classes'].shape, (FLAGS.train_batch_size,)) self.assertEqual(predictions['classes'].dtype, tf.int64) if mode != tf.estimator.ModeKeys.PREDICT: loss = spec.loss self.assertAllEqual(loss.shape, ()) self.assertEqual(loss.dtype, tf.float32) if mode == tf.estimator.ModeKeys.EVAL: eval_metric_ops = spec.eval_metric_ops self.assertAllEqual(eval_metric_ops['accuracy'][0].shape, ()) self.assertAllEqual(eval_metric_ops['accuracy'][1].shape, ()) self.assertEqual(eval_metric_ops['accuracy'][0].dtype, tf.float32) self.assertEqual(eval_metric_ops['accuracy'][1].dtype, tf.float32)