From ae208c3c5f1b37497a9c1b4e41b90d9dd39024d5 Mon Sep 17 00:00:00 2001 From: Daniel Fremont Date: Wed, 13 May 2026 10:31:34 -0700 Subject: [PATCH] fix dynamic_rulebook example --- examples/dynamic_rulebook/multi.py | 11 ++++------- examples/dynamic_rulebook/run_multi_dynamic.sh | 9 +++++---- src/verifai/__init__.py | 3 ++- src/verifai/rulebook.py | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/examples/dynamic_rulebook/multi.py b/examples/dynamic_rulebook/multi.py index 69f56ad..7f03ba2 100644 --- a/examples/dynamic_rulebook/multi.py +++ b/examples/dynamic_rulebook/multi.py @@ -17,11 +17,9 @@ import numpy as np from dotmap import DotMap -from verifai.samplers.scenic_sampler import ScenicSampler -from verifai.scenic_server import ScenicServer -from verifai.falsifier import generic_falsifier, generic_parallel_falsifier -from verifai.monitor import multi_objective_monitor, specification_monitor -from verifai.rulebook import Rulebook +from verifai import ( + Falsifier, ParallelFalsifier, Monitor, Rulebook, ScenicSampler +) def announce(message): @@ -147,14 +145,13 @@ def run_experiment( scenario_model=model, num_workers=num_workers, ) - falsifier_class = generic_parallel_falsifier if parallel else generic_falsifier + falsifier_class = ParallelFalsifier if parallel else Falsifier falsifier = falsifier_class( monitor=rb, ## modified sampler_type=s_type, sampler=sampler, falsifier_params=falsifier_params, server_options=server_options, - server_class=ScenicServer, ) print(f"(multi.py) Sampler type: {falsifier.sampler_type}") diff --git a/examples/dynamic_rulebook/run_multi_dynamic.sh b/examples/dynamic_rulebook/run_multi_dynamic.sh index a4bb41b..72d17ee 100644 --- a/examples/dynamic_rulebook/run_multi_dynamic.sh +++ b/examples/dynamic_rulebook/run_multi_dynamic.sh @@ -11,10 +11,11 @@ log_file="result_${scenario}_${sampler_type}_${sampler_idx}_${use_dynamic_rulebo result_file="result_${scenario}_${sampler_type}_${sampler_idx}_${use_dynamic_rulebook}.txt" csv_file="result_${scenario}_${sampler_type}_${sampler_idx}_${use_dynamic_rulebook}" -rm $scenario/outputs/$log_file -rm $scenario/outputs/$result_file -rm $scenario/outputs/$csv_file.*csv -rm $scenario/outputs/$csv_file\_scatter.png +mkdir -p $scenario/outputs +rm -f $scenario/outputs/$log_file +rm -f $scenario/outputs/$result_file +rm -f $scenario/outputs/$csv_file.*csv +rm -f $scenario/outputs/$csv_file\_scatter.png if [ "$use_dynamic_rulebook" = true ]; then for seed in $(seq 0 1); diff --git a/src/verifai/__init__.py b/src/verifai/__init__.py index a310266..96abd0e 100644 --- a/src/verifai/__init__.py +++ b/src/verifai/__init__.py @@ -2,5 +2,6 @@ from verifai.samplers import * from verifai.scenic_server import ScenicServer from verifai.server import Server -from verifai.falsifier import Falsifier +from verifai.falsifier import Falsifier, ParallelFalsifier from verifai.monitor import Monitor +from verifai.rulebook import Rulebook diff --git a/src/verifai/rulebook.py b/src/verifai/rulebook.py index 1ff37b1..09ff194 100644 --- a/src/verifai/rulebook.py +++ b/src/verifai/rulebook.py @@ -9,7 +9,7 @@ from verifai.monitor import Monitor -class Rulebook(ABC): +class Rulebook(Monitor, ABC): def __init__( self,