Review interface -- how to set choice_style to multiple?

Hi, I'm reviewing an image classification dataset using the review interface. During initial labeling, I used the recipe below to allow multiple classes to be chosen for each image. But during review, they show up as radio buttons instead of checkboxes, and they become mutually exclusive. Is there a way to allow multiple options during review?

These are the commands I'm using to start review:

python -m prodigy review new_dataset orig_dataset

or

python -m prodigy review new_dataset orig_dataset --view_id choice

And this is the recipe I used for initial labeling:

import prodigy
from prodigy.components.loaders import Images

def add_options(stream, labels):
    options = [{"id": label, "text": label.strip()} for label in
               labels.split(
        ",")]
    for eg in stream:
        eg["options"] = options
        yield eg

@prodigy.recipe('image-choice')
def image_choice(dataset, source, labels):
    stream = Images(source)
    stream = add_options(stream, labels)
    return {
        "dataset": dataset,
        "stream": stream,
        "view_id": "choice",
        'config': {'choice_style': 'multiple'},
        'feed_overlap' : True,
    }

Hi! This is a good point and recently came up in this issue as well: Review recipe with blocks interface

The easiest solution for now is to just add a prodigy.json in your current working directory and set the "choice_style" in there. This lets you set project-specific config (without having to update the global config).

1 Like

Thank you for the help! Setting the choice style in prodigy.json does make it render a multiple-choice interface. But I'm finding I can't change what's selected. Clicking on the checkboxes does nothing. The same is also true if I use a single-choice, radio-button interface. I can look at the previous labels, but I can't change anything.

Maybe I'm confused about what this interface is for. I thought that I should be able to make a new annotation (while looking at the previous ones) and save it to a new dataset. Right now, the only actions I can take are accept, reject, ignore, or go back.

You should be able to change the selection, yes! Which version of Prodigy are you using? And could you share an example of the data you're loading in? (You can remove the actual text/images, what's mostly relevant is the options.)

Hi Ines,

Thanks for your response, but where can I find prodigy.json file? and if I should create this file, how is this file format?

You can read more about it here: Installation & Setup · Prodigy · An annotation tool for AI, Machine Learning & NLP

In this case, I'd suggest adding a file with only the "choice_style" override to your current working directory. You don't want to be setting that globally for all recipes, just in that specific case.