mirror of
https://github.com/ANL-CEEESA/MIPLearn.git
synced 2025-12-09 19:08:51 -06:00
Fix benchmark scripts; add more input checks
This commit is contained in:
@@ -41,13 +41,14 @@ class FeaturesExtractor:
|
||||
assert isinstance(user_features, list), (
|
||||
f"Variable features must be a list. "
|
||||
f"Found {type(user_features).__name__} instead for "
|
||||
f"var={var_name}."
|
||||
)
|
||||
assert isinstance(user_features[0], numbers.Real), (
|
||||
f"Variable features must be a list of numbers."
|
||||
f"Found {type(user_features[0]).__name__} instead "
|
||||
f"for var={var_name}."
|
||||
f"var={var_name}[{idx}]."
|
||||
)
|
||||
for v in user_features:
|
||||
assert isinstance(v, numbers.Real), (
|
||||
f"Variable features must be a list of numbers. "
|
||||
f"Found {type(v).__name__} instead "
|
||||
f"for var={var_name}[{idx}]."
|
||||
)
|
||||
var_dict[idx] = {
|
||||
"Category": category,
|
||||
"User features": user_features,
|
||||
@@ -92,4 +93,15 @@ class FeaturesExtractor:
|
||||
|
||||
@staticmethod
|
||||
def _extract_instance(instance: "Instance") -> InstanceFeatures:
|
||||
return {"User features": instance.get_instance_features()}
|
||||
user_features = instance.get_instance_features()
|
||||
assert isinstance(user_features, list), (
|
||||
f"Instance features must be a list. "
|
||||
f"Found {type(user_features).__name__} instead for "
|
||||
f"var={var_name}[{idx}]."
|
||||
)
|
||||
for v in user_features:
|
||||
assert isinstance(v, numbers.Real), (
|
||||
f"Instance features must be a list of numbers. "
|
||||
f"Found {type(v).__name__} instead."
|
||||
)
|
||||
return {"User features": user_features}
|
||||
|
||||
Reference in New Issue
Block a user