How to sample from a defined probability region of a Multi-Variate Normal Distribution using PyTorch?

Hi everyone.
Is there a straightforward way to sample from a multivariate normal distribution in PyTorch and only keep the samples that are in a defined low-probability region (e.g. P(x) < 5 %)?

Concrete example: I have a batch of representation tensors as an output of a ResNet with a size of (batch_size, feature_size).

I can then generate the mean vector prototype with size = (1, feature_size) of those representations, and the corresponding empirical cov matrix with size = (feature_size, feature_size). From my understanding I can use PyTorchs distributions package to sample from the multivariate normal distribution, defined by prototype and cov like so:

from torch.distributions.multivariate_normal import MultivariateNormal
import torch.nn as nn

dist = MultivariateNormal(prototype, covariance_matrix = cov)
samples = dist.sample(torch.Size([10000]))

I’d like to know how to determine the probability region that a sample belongs to, i.e., I only want to keep samples with low probability. I am aware that there is dist.log_prob(value). However, I’m having a hard time gaining an intuition from that. The outputs don’t seem to make a lot of sense. Any idea what I’m missing here?

Thanks for your help.

I do think the that log_prob will work.
So something of this stuff
negative_samples = dis.rsample((1000,))
neg_prob_density = dis.log_prob(negative_samples)

should be fine. The other option is to use k-NN method for the same.