in optimum/onnxruntime/runs/__init__.py [0:0]
def _launch_time(self, trial):
batch_size = trial.suggest_categorical("batch_size", self.batch_sizes)
input_length = trial.suggest_categorical("input_length", self.input_lengths)
model_input_names = set(self.preprocessor.model_input_names)
# onnxruntime benchmark
print("Running ONNX Runtime time benchmark.")
ort_benchmark = TimeBenchmark(
self.ort_model,
input_length=input_length,
batch_size=batch_size,
model_input_names=model_input_names,
warmup_runs=self.time_benchmark_args["warmup_runs"],
duration=self.time_benchmark_args["duration"],
)
optimized_time_metrics = ort_benchmark.execute()
# pytorch benchmark
print("Running Pytorch time benchmark.")
torch_benchmark = TimeBenchmark(
self.torch_model,
input_length=input_length,
batch_size=batch_size,
model_input_names=model_input_names,
warmup_runs=self.time_benchmark_args["warmup_runs"],
duration=self.time_benchmark_args["duration"],
)
baseline_time_metrics = torch_benchmark.execute()
time_evaluation = {
"batch_size": batch_size,
"input_length": input_length,
"baseline": baseline_time_metrics,
"optimized": optimized_time_metrics,
}
self.return_body["evaluation"]["time"].append(time_evaluation)
return 0, 0