roboflow / roboflow/inference

Workflow Compiler error when binding Active Learning image name to input image filename

Open
#2,113 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
2.5k
Forks
319
Avg merge
1d 14h
Merged PRs (30d)
133

Description

Search before asking
  • I have searched the Inference issues and found no similar bug report.
Bug

I am running a workflow for blueprint processing where preserving the original file name is important for traceability.

Each blueprint has a unique name / identifier, and when I upload images directly, the filenames are preserved correctly. However, when images are sent to my dataset through the Active Learning / Roboflow Dataset Upload block, Roboflow assigns its own UUID-based name instead. That makes the uploaded samples difficult to track back to the original blueprint source.

I tried to solve this by setting the Image Name field in the Dataset Upload block to use the input image name, but I get the following compiler error:

Workflow Compiler expected node: $inputs.image.name to be present in execution graph, but condition failed to be met. This is most likely the bug. Contact Roboflow team through github issues (https://github.com/roboflow/inference/issues) providing full context of the problem - including workflow definition you use.

In short:
I want the image uploaded by the Dataset Upload / Active Learning block to keep the same name as the original input image, instead of receiving a generated UUID.

Image
Environment
  • Inference: 1.0

The issue persists both on the serverless API and on batch processing.

Minimal Reproducible Example
Goal

Preserve the original filename of input images when they are uploaded to a Roboflow dataset through the Roboflow Dataset Upload / Active Learning block in a Workflow.

The dataset contains blueprint images with unique identifiers in their filenames, so preserving the original name is important for traceability.

Workflow

Simplified workflow structure:

Input (InferenceImage)
→ processing blocks
→ Roboflow Dataset Upload (Active Learning)

Attempted configuration

I attempted to set the Image Name field in the Dataset Upload block to: steps.name_extract.name

Image
Additional

No response

Are you willing to submit a PR?
  • Yes I'd like to help by submitting a PR!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Workflow Compiler entry point and the Roboflow Dataset Upload/Active Learning block handling for InferenceImage.name; compare the serverless API and batch execution paths. Reproduce the $inputs.image.name or steps.name_extract.name binding failure, then verify that an uploaded image preserves the original filename without compiler errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
compilers, computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.