Skip to content

Commit

Permalink
Add validation of accuracy.
Browse files Browse the repository at this point in the history
  • Loading branch information
tfboyd committed May 3, 2019
1 parent fabc828 commit b8db1b0
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 11 deletions.
26 changes: 20 additions & 6 deletions tensorflow_examples/models/densenet/densenet_distributed_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,31 @@ def benchmark_with_function_custom_loops_300_epochs_8_gpus(self):

self._run_and_report_benchmark(**kwargs)

def _run_and_report_benchmark(self, **kwargs):
def _run_and_report_benchmark(self, top_1_min=.944, top_1_max=.949, **kwargs):
"""Run the benchmark and report metrics.report.
Args:
top_1_min: Min value for top_1 accuracy. Default range is SOTA.
top_1_max: Max value for top_1 accuracy.
**kwargs: All args passed to the test.
"""
start_time_sec = time.time()
train_loss, train_acc, _, test_acc = distributed_train.main(**kwargs)
wall_time_sec = time.time() - start_time_sec

extras = {'train_loss': train_loss,
'training_accuracy_top_1': train_acc,
'accuracy_top_1': test_acc}
metrics = []
metrics.append({'name': 'accuracy_top_1',
'value': test_acc,
'min_value': top_1_min,
'max_value': top_1_max})

metrics.append({'name': 'training_accuracy_top_1',
'value': train_acc})

metrics.append({'name': 'train_loss',
'value': train_loss})

self.report_benchmark(
wall_time=wall_time_sec, extras=extras)
self.report_benchmark(wall_time=wall_time_sec, metrics=metrics)

if __name__ == '__main__':
assert tf.__version__.startswith('2')
Expand Down
22 changes: 17 additions & 5 deletions tensorflow_examples/models/densenet/densenet_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,28 @@ def benchmark_with_keras_fit_300_epochs(self):
self._run_and_report_benchmark(**kwargs)

def _run_and_report_benchmark(self, **kwargs):
"""Run the benchmark and report metrics.report.
Args:
**kwargs: All args passed to the test.
"""
start_time_sec = time.time()
train_loss, train_acc, _, test_acc = train.main(**kwargs)
wall_time_sec = time.time() - start_time_sec

extras = {'train_loss': train_loss,
'training_accuracy_top_1': train_acc,
'accuracy_top_1': test_acc}
metrics = []
metrics.append({'name': 'accuracy_top_1',
'value': test_acc,
'min_value': .944,
'max_value': .949})

metrics.append({'name': 'training_accuracy_top_1',
'value': train_acc})

metrics.append({'name': 'train_loss',
'value': train_loss})

self.report_benchmark(
wall_time=wall_time_sec, extras=extras)
self.report_benchmark(wall_time=wall_time_sec, metrics=metrics)

if __name__ == '__main__':
assert tf.__version__.startswith('2')
Expand Down

0 comments on commit b8db1b0

Please sign in to comment.