Open Kerilk opened 3 years ago
Thank you very much for reporting this. Indeed, this appears to be an issue in the ConfigSpace. I'm not aware that anyone is using the OrCondition
, so I'm afraid the bug is related to that.
Could you please check whether this issue is caught by cs._check_configuration_rigorous(x)
?
Well you raise an interesting point: cs._check_configuration_rigorous(x)
triggers for valid configurations:
for x in cs.sample_configuration(1000):
d = dict(x)
print(x)
cs._check_configuration_rigorous(x)
outputs:
Configuration:
p1, Value: '#pragma omp target #p5'
p5, Value: 'None'
Configuration:
p1, Value: '#pragma omp #p4'
p4, Value: 'simd'
Traceback (most recent call last):
File "/home/videau/temp/ConfigSpace/problem.py", line 47, in <module>
cs._check_configuration_rigorous(x)
File "ConfigSpace/configuration_space.pyx", line 1166, in ConfigSpace.configuration_space.ConfigurationSpace._check_configuration_rigorous
ValueError: Inactive hyperparameter 'p4' must not be specified, but has the vector value: '1.0'.
p4
is also conditioned by an OrCondition
.
Hello,
Thanks for this great library. I ran into a small issue while double checking some results. The (not so) small sample here seems to be generating invalid configurations:
If my understanding of the constraints is correct (and if the constraints have been expressed correctly),
p11
should only be active ifp5
is active and equals#dist_schedule #p11
orp6
is active and equals#schedule #p11
.In practice, we find several invalid configurations being returned by ConfigSpace. Here is one example:
Is this a bug or did I miss something?
Thanks, Brice