Skip to content

Modality

pnpxai.core.modality.modality

Modality

Bases: ABC

An abstract class describing modality-specific workflow. The class is used to define both default and available explainers, baselines, feature masks, pooling methods, and normalization methods for the modality.

Parameters:

Name Type Description Default
channel_dim int

Target sequence dimension.

required
baseline_fn_selector Optional[FunctionSelector]

Selector of baselines for the modality's explainers. If None selected, all BASELINE_FUNCTIONS will be used.

None
feature_mask_fn_selector Optional[FunctionSelector]

Selector of feature masks for the modality's explainers. If None selected, all FEATURE_MASK_FUNCTIONS will be used.

None
pooling_fn_selector Optional[FunctionSelector]

Selector of pooling methods for the modality's explainers. If None selected, all POOLING_FUNCTIONS will be used.

None
normalization_fn_selector Optional[FunctionSelector]

Selector of normalization methods for the modality's explainers. If None selected, all NORMALIZATION_FUNCTIONS_FOR_IMAGE will be used.

None

Attributes:

Name Type Description
EXPLAINERS Tuple[Explainer]

Tuple of all available explainers.

EXPLAINERS = tuple(iter(AVAILABLE_EXPLAINERS)) class-attribute instance-attribute
channel_dim = channel_dim instance-attribute
baseline_fn_selector = baseline_fn_selector or FunctionSelector(BASELINE_FUNCTIONS) instance-attribute
feature_mask_fn_selector = feature_mask_fn_selector or FunctionSelector(FEATURE_MASK_FUNCTIONS) instance-attribute
pooling_fn_selector = pooling_fn_selector or FunctionSelector(POOLING_FUNCTIONS) instance-attribute
normalization_fn_selector = normalization_fn_selector or FunctionSelector(NORMALIZATION_FUNCTIONS_FOR_IMAGE) instance-attribute
__init__(channel_dim: int, baseline_fn_selector: Optional[FunctionSelector] = None, feature_mask_fn_selector: Optional[FunctionSelector] = None, pooling_fn_selector: Optional[FunctionSelector] = None, normalization_fn_selector: Optional[FunctionSelector] = None, **kwargs)
get_default_feature_mask_fn() -> Callable abstractmethod

Defines default baseline function for the modality's explainers.

Returns:

Name Type Description
BaselineFunction Callable

Zeros baseline function.

get_default_baseline_fn() -> Callable abstractmethod

Defines default feature mask function for the modality's explainers.

Returns:

Name Type Description
FeatureMaskFunction Callable

No Mask baseline function.

get_default_postprocessors() -> List[Callable] abstractmethod

Defines default post-processors list for the modality's explainers.

Returns:

Type Description
List[Callable]

List[PostProcessor]: Identity PostProcessors.

map_fn_selector(method_type: Type[Any]) -> Dict[Type[UtilFunction], callable]

Selects custom optimizable hyperparameter functions.

Returns:

Type Description
Dict[Type[UtilFunction], callable]

Dict[Type[UtilFunction], callable]: Identity PostProcessors.

ImageModality

Bases: Modality

An extension of Modality class for Image domain with automatic explainers and evaluation metrics recommendation.

Parameters:

Name Type Description Default
channel_dim int

Target sequence dimension.

1
baseline_fn_selector Optional[FunctionSelector]

Selector of baselines for the modality's explainers. If None selected, BASELINE_FUNCTIONS_FOR_TIME_SERIES will be used.

None
feature_mask_fn_selector Optional[FunctionSelector]

Selector of feature masks for the modality's explainers. If None selected, FEATURE_MASK_FUNCTIONS_FOR_TIME_SERIES will be used.

None
pooling_fn_selector Optional[FunctionSelector]

Selector of pooling methods for the modality's explainers. If None selected, POOLING_FUNCTIONS_FOR_TIME_SERIES will be used.

None
normalization_fn_selector Optional[FunctionSelector]

Selector of normalization methods for the modality's explainers. If None selected, NORMALIZATION_FUNCTIONS_FOR_TIME_SERIES will be used.

None
EXPLAINERS = tuple(iter(AVAILABLE_EXPLAINERS)) class-attribute instance-attribute
channel_dim = channel_dim instance-attribute
baseline_fn_selector = baseline_fn_selector or FunctionSelector(BASELINE_FUNCTIONS) instance-attribute
feature_mask_fn_selector = feature_mask_fn_selector or FunctionSelector(FEATURE_MASK_FUNCTIONS) instance-attribute
pooling_fn_selector = pooling_fn_selector or FunctionSelector(POOLING_FUNCTIONS) instance-attribute
normalization_fn_selector = normalization_fn_selector or FunctionSelector(NORMALIZATION_FUNCTIONS_FOR_IMAGE) instance-attribute
__init__(channel_dim: int = 1, baseline_fn_selector: Optional[FunctionSelector] = None, feature_mask_fn_selector: Optional[FunctionSelector] = None, pooling_fn_selector: Optional[FunctionSelector] = None, normalization_fn_selector: Optional[FunctionSelector] = None)
get_default_baseline_fn() -> BaselineFunction

Defines default baseline function for the modality's explainers.

Returns:

Name Type Description
BaselineFunction BaselineFunction

Zeros baseline function.

get_default_feature_mask_fn() -> FeatureMaskFunction

Defines default feature mask function for the modality's explainers.

Returns:

Name Type Description
FeatureMaskFunction FeatureMaskFunction

Felzenszwalb baseline function.

get_default_postprocessors() -> List[PostProcessor]

Defines default post-processors list for the modality's explainers.

Returns:

Type Description
List[PostProcessor]

List[PostProcessor]: All available PostProcessors.

map_fn_selector(method_type: Type[Any]) -> Dict[Type[UtilFunction], callable]

Selects custom optimizable hyperparameter functions.

Returns:

Type Description
Dict[Type[UtilFunction], callable]

Dict[Type[UtilFunction], callable]: Identity PostProcessors.

TextModality

Bases: Modality

An extension of Modality class for Text domain with automatic explainers and evaluation metrics recommendation.

Parameters:

Name Type Description Default
channel_dim int

Target sequence dimension.

-1
baseline_fn_selector Optional[FunctionSelector]

Selector of baselines for the modality's explainers. If None selected, BASELINE_FUNCTIONS_FOR_TEXT will be used.

None
feature_mask_fn_selector Optional[FunctionSelector]

Selector of feature masks for the modality's explainers. If None selected, FEATURE_MASK_FUNCTIONS_FOR_TEXT will be used.

None
pooling_fn_selector Optional[FunctionSelector]

Selector of pooling methods for the modality's explainers. If None selected, POOLING_FUNCTIONS_FOR_TEXT will be used.

None
normalization_fn_selector Optional[FunctionSelector]

Selector of normalization methods for the modality's explainers. If None selected, NORMALIZATION_FUNCTIONS_FOR_TEXT will be used.

None
EXPLAINERS = (Gradient, GradientXInput, SmoothGrad, VarGrad, IntegratedGradients, LRPUniformEpsilon, LRPEpsilonPlus, LRPEpsilonGammaBox, LRPEpsilonAlpha2Beta1, KernelShap, Lime) class-attribute instance-attribute
mask_token_id = mask_token_id instance-attribute
channel_dim = channel_dim instance-attribute
baseline_fn_selector = baseline_fn_selector or FunctionSelector(BASELINE_FUNCTIONS) instance-attribute
feature_mask_fn_selector = feature_mask_fn_selector or FunctionSelector(FEATURE_MASK_FUNCTIONS) instance-attribute
pooling_fn_selector = pooling_fn_selector or FunctionSelector(POOLING_FUNCTIONS) instance-attribute
normalization_fn_selector = normalization_fn_selector or FunctionSelector(NORMALIZATION_FUNCTIONS_FOR_IMAGE) instance-attribute
__init__(channel_dim: int = -1, mask_token_id: int = 0, baseline_fn_selector: Optional[FunctionSelector] = None, feature_mask_fn_selector: Optional[FunctionSelector] = None, pooling_fn_selector: Optional[FunctionSelector] = None, normalization_fn_selector: Optional[FunctionSelector] = None)
get_default_baseline_fn() -> BaselineFunction

Defines default baseline function for the modality's explainers.

Returns:

Name Type Description
BaselineFunction BaselineFunction

Token baseline function.

get_default_feature_mask_fn() -> FeatureMaskFunction

Defines default feature mask function for the modality's explainers.

Returns:

Name Type Description
FeatureMaskFunction FeatureMaskFunction

No Mask baseline function.

get_default_postprocessors() -> List[PostProcessor]

Defines default post-processors list for the modality's explainers.

Returns:

Type Description
List[PostProcessor]

List[PostProcessor]: All PostProcessors.

map_fn_selector(method_type: Type[Any]) -> Dict[Type[UtilFunction], callable]

Selects custom optimizable hyperparameter functions.

Returns:

Type Description
Dict[Type[UtilFunction], callable]

Dict[Type[UtilFunction], callable]: Identity PostProcessors.

TimeSeriesModality

Bases: Modality

An extension of Modality class for Time Series domain with automatic explainers and evaluation metrics recommendation.

Parameters:

Name Type Description Default
channel_dim int

Target sequence dimension.

-1
baseline_fn_selector Optional[FunctionSelector]

Selector of baselines for the modality's explainers. If None selected, BASELINE_FUNCTIONS_FOR_TIME_SERIES will be used.

None
feature_mask_fn_selector Optional[FunctionSelector]

Selector of feature masks for the modality's explainers. If None selected, FEATURE_MASK_FUNCTIONS_FOR_TIME_SERIES will be used.

None
pooling_fn_selector Optional[FunctionSelector]

Selector of pooling methods for the modality's explainers. If None selected, POOLING_FUNCTIONS_FOR_TIME_SERIES will be used.

None
normalization_fn_selector Optional[FunctionSelector]

Selector of normalization methods for the modality's explainers. If None selected, NORMALIZATION_FUNCTIONS_FOR_TIME_SERIES will be used.

None
EXPLAINERS = tuple(iter(AVAILABLE_EXPLAINERS)) class-attribute instance-attribute
channel_dim = channel_dim instance-attribute
baseline_fn_selector = baseline_fn_selector or FunctionSelector(BASELINE_FUNCTIONS) instance-attribute
feature_mask_fn_selector = feature_mask_fn_selector or FunctionSelector(FEATURE_MASK_FUNCTIONS) instance-attribute
pooling_fn_selector = pooling_fn_selector or FunctionSelector(POOLING_FUNCTIONS) instance-attribute
normalization_fn_selector = normalization_fn_selector or FunctionSelector(NORMALIZATION_FUNCTIONS_FOR_IMAGE) instance-attribute
__init__(channel_dim: int = -1, baseline_fn_selector: Optional[FunctionSelector] = None, feature_mask_fn_selector: Optional[FunctionSelector] = None, pooling_fn_selector: Optional[FunctionSelector] = None, normalization_fn_selector: Optional[FunctionSelector] = None)
get_default_baseline_fn() -> BaselineFunction

Defines default baseline function for the modality's explainers.

Returns:

Name Type Description
BaselineFunction BaselineFunction

Zeros baseline function.

get_default_feature_mask_fn() -> FeatureMaskFunction

Defines default feature mask function for the modality's explainers.

Returns:

Name Type Description
FeatureMaskFunction FeatureMaskFunction

No Mask baseline function.

get_default_postprocessors() -> List[PostProcessor]

Defines default post-processors list for the modality's explainers.

Returns:

Type Description
List[PostProcessor]

List[PostProcessor]: Identity PostProcessors.

map_fn_selector(method_type: Type[Any]) -> Dict[Type[UtilFunction], callable]

Selects custom optimizable hyperparameter functions.

Returns:

Type Description
Dict[Type[UtilFunction], callable]

Dict[Type[UtilFunction], callable]: Identity PostProcessors.