Module facetorch.analyzer.predictor.pre
Classes
class BasePredPreProcessor (transform: torchvision.transforms.transforms.Compose, device: torch.device, optimize_transform: bool)-
Base class for predictor pre processors.
All predictor pre processors should subclass it. All subclass should overwrite:
- Methods:
run, used for running the processing
Args
device:torch.device- Torch device cpu or cuda.
transform:transforms.Compose- Transform compose object to be applied to the image.
optimize_transform:bool- Whether to optimize the transform.
Expand source code
class BasePredPreProcessor(BaseProcessor): @Timer( "BasePredPreProcessor.__init__", "{name}: {milliseconds:.2f} ms", logger=logger.debug, ) def __init__( self, transform: transforms.Compose, device: torch.device, optimize_transform: bool, ): """Base class for predictor pre processors. All predictor pre processors should subclass it. All subclass should overwrite: - Methods:``run``, used for running the processing Args: device (torch.device): Torch device cpu or cuda. transform (transforms.Compose): Transform compose object to be applied to the image. optimize_transform (bool): Whether to optimize the transform. """ super().__init__(transform, device, optimize_transform) @abstractmethod def run(self, faces: torch.Tensor) -> torch.Tensor: """Abstract method that runs the predictor pre processing functionality and returns a batch of preprocessed face tensors. Args: faces (torch.Tensor): Batch of face tensors with shape (batch, channels, height, width). Returns: torch.Tensor: Batch of preprocessed face tensors with shape (batch, channels, height, width). """Ancestors
Subclasses
Methods
def run(self, faces: torch.Tensor) ‑> torch.Tensor-
Abstract method that runs the predictor pre processing functionality and returns a batch of preprocessed face tensors.
Args
faces:torch.Tensor- Batch of face tensors with shape (batch, channels, height, width).
Returns
torch.Tensor- Batch of preprocessed face tensors with shape (batch, channels, height, width).
Inherited members
- Methods:
class PredictorPreProcessor (transform: torchvision.transforms.transforms.Compose, device: torch.device, optimize_transform: bool, reverse_colors: bool = False)-
Torch transform based pre-processor that is applied to face tensors before they are passed to the predictor model.
Args
transform:transforms.Compose- Composed Torch transform object.
device:torch.device- Torch device cpu or cuda.
optimize_transform:bool- Whether to optimize the transform.
reverse_colors:bool- Whether to reverse the colors of the image tensor
Expand source code
class PredictorPreProcessor(BasePredPreProcessor): def __init__( self, transform: transforms.Compose, device: torch.device, optimize_transform: bool, reverse_colors: bool = False, ): """Torch transform based pre-processor that is applied to face tensors before they are passed to the predictor model. Args: transform (transforms.Compose): Composed Torch transform object. device (torch.device): Torch device cpu or cuda. optimize_transform (bool): Whether to optimize the transform. reverse_colors (bool): Whether to reverse the colors of the image tensor """ super().__init__(transform, device, optimize_transform) self.reverse_colors = reverse_colors @Timer( "PredictorPreProcessor.run", "{name}: {milliseconds:.2f} ms", logger=logger.debug, ) def run(self, faces: torch.Tensor) -> torch.Tensor: """Runs the trasform on a batch of face tensors. Args: faces (torch.Tensor): Batch of face tensors. Returns: torch.Tensor: Batch of preprocessed face tensors. """ if faces.device != self.device: faces = faces.to(self.device) faces = self.transform(faces) if self.reverse_colors: faces = rgb2bgr(faces) return facesAncestors
Methods
def run(self, faces: torch.Tensor) ‑> torch.Tensor-
Runs the trasform on a batch of face tensors.
Args
faces:torch.Tensor- Batch of face tensors.
Returns
torch.Tensor- Batch of preprocessed face tensors.
Inherited members