- Project Type: Object Detection Workflow
- Operating System & Browser: MacOS, Safari
I’m trying to wrap my head around workflows and simply want to only continue a workflow if a face is NOT detected. I’ve done this with the following workflow blocks:
- Object Detection Model (using a working model I found in Universe)
- Property Definition (set to count the number of returned objects)
- Continue If (based on the output of my property definition block which, in tests, is ‘0’)
Everything works fine so far but I encounter an error when testing the Continue If block.
1 validation error for WorkflowSpecificationV1\nsteps.0.roboflow_core/continue_if@v1.next_steps.0\n String should match pattern '^\\$steps\\.[A-Za-z_0-9\\-]+' [type=string_pattern_mismatch, input_value='$inputs.patch_counter', input_type=str]\n For further information visit https://errors.pydantic.dev/2.10/v/string_pattern_mismatch
Here’s a video that explains my predicament: Troubleshooting Workflow Va...
What am I missing?
breaking down the error message:
WorkflowSpecificationV1\nsteps.0.roboflow_core/continue_if@v1.next_steps.0\nc
this means the error is from the continue_if block, specifically about of the configured next_steps
property.
The rest after that: String should match pattern '^\\$steps\\.[A-Za-z_0-9\\-]+' [type=string_pattern_mismatch, input_value='$inputs.patch_counter', input_type=str]
Says that the value needs to be matching the pattner ^\\$steps\\.[A-Za-z_0-9\\-]+
, but it is currently set to $inputs.patch_counter
So I think this means the next steps property on the continue if needs to be set to point at another block / step rather than an input. The next_step
needs to point at the bock to run next if the condition is true.
If the UI let you configure it this way pointing at an input that seems like a bug.
It did let me create that workflow, so it could be considered a bug.
Question: My thinking with this workflow was to chain models. I have a model that detects faces and another that counts objects. I was hoping to provide the workflow with an image, have it detect faces and, if a face is not found, go ahead and detect the objects. The final output I’m looking for is something like:
FACES: 0
OBJECTS: 12
How should I be going about that?