-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
Currently QA-Board lacks expressiveness for our common use-case of:
- Run on some images
- Calibration
- Validation
Likewise, we can't express easily pipelines like training-evaluation.
We need to express running series of steps / pipelines / tasks organized as directed-acyclic-graph.
We're looking for feedback or alternative ideas. Especially if you have experience with various flow engines, e.g. DVC. Thanks!
Workarounds
User have done this:
- wrapped
qa batchwith a scripted pipeline - wrote complicated
run()function with lots of logic
Status
- Implement user-side support for sequential pipelines
- Support pipelines officially in QA-Board
- Support DAGs
Possible API
batch1:
inputs:
- A.jpg
- B.jpg
configurations:
- base
batch2:
needs: batch1
type: script
configurations:
- python my_script.py {o.output_dir for o in needs["batch1"]}More complex:
my-calibration-images:
configurations:
- base
inputs:
- DL50.raw
- DL55.raw
- DL65.raw
- DL75.raw
my-calibration:
needs:
calibration_images: my-calibration-images
type: script
configurations:
- python calibration.py ${o.output_directory for o in depends[calibration_images]}
my-evaluation-batch:
needs:
calibration: my-calibration
inputs:
- test_image_1.raw
- test_image_2.raw
- test_image_3.raw
configurations:
- base
- ${depends[calibration].output_directory}/calibration.cde$ qa batch my-evaluation-batch
#=> qa batch my-calibration-images
#=> qa batch my-calibration
#=> qa batch my-evaluation-batchThoughts
- We should add built-in support for
scriptinput types, than just executes their config as commands. It goes well with DAGs.
my-script:
needs: batch1
type: script
configurations:
- echo OKExpected
- Easy API
- Cache friendly
- Can be used in a non-blocking way
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels