in optimum_benchmark/scenarios/energy_star/scenario.py [0:0]
def run_inference_tracking(self):
self.logger.info("\t+ Running Inference tracking")
with self.track(task_name="forward"):
for i in tqdm(range(0, self.config.num_samples, self.config.input_shapes["batch_size"])):
inputs = self.backend.prepare_inputs(self.dataset[i : i + self.config.input_shapes["batch_size"]])
self.backend.forward(inputs, self.config.forward_kwargs)
if self.config.energy:
forward_energy = self.energy_tracker.get_energy()
forward_volume = self.dataset_forward_volume
self.report.forward.energy = forward_energy
self.report.forward.efficiency = Efficiency.from_energy(
forward_energy, forward_volume, unit=FORWARD_EFFICIENCY_UNIT
)
if self.config.latency:
forward_latency = self.latency_tracker.get_latency()
forward_volume = self.dataset_forward_volume
self.report.forward.latency = forward_latency
self.report.forward.throughput = Throughput.from_latency(
forward_latency, forward_volume, unit=FORWARD_THROUGHPUT_UNIT
)
if self.config.memory:
self.report.forward.memory = self.memory_tracker.get_max_memory()