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. |