Skip to content
Discussion options

You must be logged in to vote

Hi I was also trying to understand how adaptive threshold is determined and when it's actually applied so let me share my understanding here. During training, patchcore model outputs unnormalized values. At the end of validation epoch, threshold is computed and determined to maximize F1 score over validation set like below with _compute_adaptive_threshold.

def validation_epoch_end(self, outputs):
        """Compute threshold and performance metrics.

        Args:
          outputs: Batch of outputs from the validation step
        """
        if self.adaptive_threshold:
            self._compute_adaptive_threshold(outputs)

As threshold is determined with un-normalized raw model output s…

Replies: 4 comments 5 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
5 replies
@cyj95
Comment options

@samet-akcay
Comment options

@innat
Comment options

@samet-akcay
Comment options

@djdameln
Comment options

Answer selected by samet-akcay
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
Post-Processing The components that are related to post-processing
6 participants
Converted from issue

This discussion was converted from issue #383 on July 07, 2022 10:54.