def untag_labels(self, tags, label_fields=None):
        """Removes the tag from all labels in the specified label field(s) of
        this collection, if necessary.

        Args:
            tags: a tag or iterable of tags
            label_fields (None): an optional name or iterable of names of
                :class:`fiftyone.core.labels.Label` fields. By default, all
                label fields are used
        """
        if label_fields is None:
            label_fields = self._get_label_fields()
        elif etau.is_str(label_fields):
            label_fields = [label_fields]

        for label_field in label_fields:
            _, tags_path = self._get_label_field_path(label_field, "tags")
            if self._is_read_only_field(tags_path):
                raise ValueError(
                    "Cannot edit read-only field '%s'" % tags_path
                )

        for label_field in label_fields:
            # We only need to process labels that have a tag of interest
            view = self.select_labels(tags=tags, fields=label_field)
            view._untag_labels(tags, label_field)
Removes the tag from all labels in the specified label field(s) of
        this collection, if necessary.

        Args:
            tags: a tag or iterable of tags
            label_fields (None): an optional name or iterable of names of
                :class:`fiftyone.core.labels.Label` fields. By default, all
                label fields are used
        
fiftyone/core/collections.py