use seed in validate.py for deterministic tests
This commit is contained in:
@@ -60,6 +60,7 @@ def main():
|
|||||||
ap.add_argument("--simulator-dir", default=None,
|
ap.add_argument("--simulator-dir", default=None,
|
||||||
help="Path to pim-simulator crate root (default: auto-detected relative to script).")
|
help="Path to pim-simulator crate root (default: auto-detected relative to script).")
|
||||||
ap.add_argument("--threshold", type=float, default=1e-3, help="Max allowed diff per output element.")
|
ap.add_argument("--threshold", type=float, default=1e-3, help="Max allowed diff per output element.")
|
||||||
|
ap.add_argument("--seed", type=int, default=0, help="RNG seed for generated validation inputs.")
|
||||||
ap.add_argument("--crossbar-size", type=int, default=64)
|
ap.add_argument("--crossbar-size", type=int, default=64)
|
||||||
ap.add_argument("--crossbar-count", type=int, default=8)
|
ap.add_argument("--crossbar-count", type=int, default=8)
|
||||||
ap.add_argument("--core-count", type=int, default=None,
|
ap.add_argument("--core-count", type=int, default=None,
|
||||||
@@ -117,6 +118,7 @@ def main():
|
|||||||
onnx_path, a.raptor_path, a.onnx_include_dir, simulator_dir,
|
onnx_path, a.raptor_path, a.onnx_include_dir, simulator_dir,
|
||||||
crossbar_size=a.crossbar_size, crossbar_count=a.crossbar_count, core_count=a.core_count,
|
crossbar_size=a.crossbar_size, crossbar_count=a.crossbar_count, core_count=a.core_count,
|
||||||
threshold=a.threshold,
|
threshold=a.threshold,
|
||||||
|
seed=a.seed,
|
||||||
reporter=reporter,
|
reporter=reporter,
|
||||||
model_index=index,
|
model_index=index,
|
||||||
model_total=len(onnx_files),
|
model_total=len(onnx_files),
|
||||||
|
|||||||
@@ -268,7 +268,7 @@ def validate_outputs(sim_arrays, runner_out_dir, outputs_descriptor, threshold=1
|
|||||||
|
|
||||||
def validate_network(network_onnx_path, raptor_path, onnx_include_dir,
|
def validate_network(network_onnx_path, raptor_path, onnx_include_dir,
|
||||||
simulator_dir, crossbar_size=64, crossbar_count=8, core_count=None, threshold=1e-3,
|
simulator_dir, crossbar_size=64, crossbar_count=8, core_count=None, threshold=1e-3,
|
||||||
reporter=None, model_index=1, model_total=1, verbose=False):
|
seed=0, reporter=None, model_index=1, model_total=1, verbose=False):
|
||||||
network_onnx_path = Path(network_onnx_path).resolve()
|
network_onnx_path = Path(network_onnx_path).resolve()
|
||||||
raptor_path = Path(raptor_path).resolve()
|
raptor_path = Path(raptor_path).resolve()
|
||||||
onnx_include_dir = Path(onnx_include_dir).resolve()
|
onnx_include_dir = Path(onnx_include_dir).resolve()
|
||||||
@@ -306,7 +306,7 @@ def validate_network(network_onnx_path, raptor_path, onnx_include_dir,
|
|||||||
|
|
||||||
print_stage(reporter, model_index, model_total, network_onnx_path.name, "Generate Inputs")
|
print_stage(reporter, model_index, model_total, network_onnx_path.name, "Generate Inputs")
|
||||||
inputs_descriptor, outputs_descriptor = onnx_io(network_onnx_path)
|
inputs_descriptor, outputs_descriptor = onnx_io(network_onnx_path)
|
||||||
inputs_list, _inputs_dict = gen_random_inputs(inputs_descriptor)
|
inputs_list, _inputs_dict = gen_random_inputs(inputs_descriptor, seed=seed)
|
||||||
flags, _files = save_inputs_to_files(network_onnx_path, inputs_list, out_dir=workspace_dir / "inputs")
|
flags, _files = save_inputs_to_files(network_onnx_path, inputs_list, out_dir=workspace_dir / "inputs")
|
||||||
print_info(reporter, f"Saved {len(inputs_list)} input file(s) to {workspace_dir / 'inputs'}")
|
print_info(reporter, f"Saved {len(inputs_list)} input file(s) to {workspace_dir / 'inputs'}")
|
||||||
reporter.advance()
|
reporter.advance()
|
||||||
|
|||||||
Reference in New Issue
Block a user