ValueError raised when staffa:589 segmented
Compendium of multiple bugs that are simple to fix.
Experiment 589 (pH downshift, 180 time points) needs further investigation
<traceback object at 0x7f6cc47ef880>
Caught exception in worker thread (x = YST_1510_001):
Traceback (most recent call last):
File "/home/alan/Documents/dev/libs/aliby/src/aliby/pipeline.py", line 511, in create_pipeline
PostProcessor(filename, post_proc_params).run()
File "/home/alan/Documents/dev/libs/aliby/src/postprocessor/core/processor.py", line 341, in run
result = loaded_process.run(signal)
File "/home/alan/Documents/dev/libs/aliby/src/postprocessor/core/reshapers/bud_metric.py", line 39, in run
return self.get_bud_metric(signal, mother_bud_ids)
File "/home/alan/Documents/dev/libs/aliby/src/postprocessor/core/reshapers/bud_metric.py", line 70, in get_bud_metric
buds_metric = np.choose(tp_fvt, sorted_da_ids.values)
File "<__array_function__ internals>", line 180, in choose
File "/home/alan/.pyenv/versions/aliby/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 429, in choose
return _wrapfunc(a, 'choose', choices, out=out, mode=mode)
File "/home/alan/.pyenv/versions/aliby/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 57, in _wrapfunc
return bound(*args, **kwds)
ValueError: Need at least 0 and at most 32 array objects.
How to replicate? Run this script
from aliby.pipeline import PipelineParameters, Pipeline
ids = [
589,
]
filters = {
589:"YST_1510_001",
}
failures = []
for i in ids:
print(i)
try:
params = PipelineParameters.default(
general={
"expt_id": i,
# "tps": 10,
# "directory": "checks",
"distributed": 5,
"filter": filters.get(i, ""),
"earlystop": dict(
min_tp=2000,
thresh_pos_clogged=0.3,
thresh_trap_clogged=7,
ntps_to_eval=5,
),
"override_meta": True,
"overwrite": True,
"server_info": {
"host": "XXXX",
"username": "upload",
"password": "pass",
},
#
},
tiler={"tile_size": 117},
)
p = Pipeline(params)
p.run()
except Exception as e:
raise e
print(e)
failures.append(i)
with open("failures.txt", "w") as f:
for fail in failures:
f.write(fail)