def wrapped(*args, **kwargs): start = time.time() print('Running Benchmark - Training . . .') BaseManager.register('BenchmarkStats', BenchmarkStats) manager = BaseManager() manager.start() b_stats = manager.BenchmarkStats(self.model_name) b_stats.set_function_name(f.__name__) b_stats.set_function_annotations(f.__annotations__) try: p = Process(target=f, args=()) p.start() self.pid = p.pid self._attach_monitors(pid=p.pid) p.join() b_stats.set_monitor_statistics(self._collect_monitor_stats()) b_stats.set_total_elapsed_time(time.time() - start) fname = self.stats_save_path + '/benchmark_{}_{}.json'.format( b_stats.get_benchmark_name().replace(' ', '_'), b_stats.get_timestamp()) b_stats.set_internal_time(json.load(open('/tmp/time.json'))['internal_time']) json.dump(b_stats.info(), open(fname, 'w'), indent=2) print('Benchmark Util - Training completed successfully. Results stored at: {}'.format(fname)) except ValueError as ve: logger.error('Value Error - {}'.format(ve)) raise Exception('Value Error', ve)
def wrapped(*args, **kwargs): start = time.time() logger.info('Running Benchmark - Training . . .') BaseManager.register('BenchmarkStats', BenchmarkStats) manager = BaseManager() manager.start() butil = BenchmarkUtil(monitors=monitors, interval_in_secs=interval_in_secs, writers=writers) butil.b_stats = manager.BenchmarkStats(butil.name) butil.b_stats.set_function_name(f.__name__) butil.b_stats.set_function_annotations(f.__annotations__) try: p = Process(target=f, args=args, kwargs=kwargs) p.start() butil.pid = p.pid butil._attach_monitors_and_writers(pid=p.pid, stats=butil, f_name=f.__name__) p.join() butil.b_stats.set_device_statistics(butil._collect_monitor_stats()) butil.b_stats.set_total_elapsed_time(time.time() - start) for writer in butil.writers: writer.write(butil.b_stats.info()) # fname = self.stats_save_path + '/benchmark_{}_{}.json'.format( # self.b_stats.get_benchmark_name().replace(' ', '_'), self.b_stats.get_timestamp()) # json.dump(self.b_stats.info(), # open(fname, 'w'), indent=2) # logger.info('Benchmark Util - Training completed successfully. Results stored at: {}'.format(fname)) except ValueError as ve: logger.error('Value Error - {}'.format(ve)) raise Exception('Value Error', ve)