-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
Consider this example:
import numpy as np
from jobflow import job, run_locally
@job
def return_numpy():
return np.array([[1, 2], [3, 4]])
run_locally(return_numpy(), ensure_success=True)While I expect this to work, the output can literally be anything, it actually fails. Error message:
Traceback (most recent call last):
File "/Users/fabianpeschel/miniconda3/envs/exwoflow313/lib/python3.13/site-packages/jobflow/managers/local.py", line 117, in _run_job
response = job.run(store=store)
File "/Users/fabianpeschel/miniconda3/envs/exwoflow313/lib/python3.13/site-packages/jobflow/core/job.py", line 630, in run
response = Response.from_job_returns(
response, self.output_schema, job_dir=job_dir
)
File "/Users/fabianpeschel/miniconda3/envs/exwoflow313/lib/python3.13/site-packages/jobflow/core/job.py", line 1315, in from_job_returns
if job_returns and isinstance(job_returns, (list, tuple)):
^^^^^^^^^^^
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()The bug appeared when switching to the newest version 0.3.1. I think the issue was introduced in here: #848
The test if job_returns doesn't work for arrays. One would need a separate handling for this.
Probably @gpetretto and @utf can have a look.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels