lfxai.explanations.examples module
- class ExampleBasedExplainer(model: Module, X_train: Tensor, loss_f: callable, **kwargs)
Bases:
ABC
- _abc_impl = <_abc_data object>
- abstract attribute(X_test: Tensor, train_idx: list, **kwargs) Tensor
- Parameters
X_test –
train_idx –
**kwargs –
Returns:
- class InfluenceFunctions(model: Module, loss_f: callable, save_dir: Path, X_train: Optional[Tensor] = None)
Bases:
ExampleBasedExplainer
,ABC
- _abc_impl = <_abc_data object>
- attribute(X_test: Tensor, train_idx: list, batch_size: int = 1, damp: float = 0.001, scale: float = 1000, recursion_depth: int = 100, **kwargs) Tensor
Code adapted from https://github.com/ahmedmalaa/torch-influence-functions/ This function applies the stochastic estimation approach to evaluating influence function based on the power-series approximation of matrix inversion. Recall that the exact inverse Hessian H^-1 can be computed as follows: H^-1 = sum^infty_{i=0} (I - H) ^ j This series converges if all the eigen values of H are less than 1.
- Returns
list of torch tensors, contains product of Hessian and v.
- Return type
return_grads
- attribute_loader(device: device, train_loader: DataLoader, test_loader: DataLoader, train_loader_replacement: DataLoader, recursion_depth: int = 100, damp: float = 0.001, scale: float = 1000, **kwargs) Tensor
- class NearestNeighbours(model: Module, loss_f: Optional[callable] = None, X_train: Optional[Tensor] = None)
Bases:
ExampleBasedExplainer
,ABC
- _abc_impl = <_abc_data object>
- attribute(X_test: Tensor, train_idx: list, batch_size: int = 500, **kwargs) Tensor
- Parameters
X_test –
train_idx –
**kwargs –
Returns:
- attribute_loader(device: device, train_loader: DataLoader, test_loader: DataLoader, batch_size: int = 50, **kwargs) Tensor
- class SimplEx(model: Module, loss_f: Optional[callable] = None, X_train: Optional[Tensor] = None)
Bases:
ExampleBasedExplainer
,ABC
- _abc_impl = <_abc_data object>
- attribute(X_test: Tensor, train_idx: list, learning_rate: float = 1, batch_size: int = 50, **kwargs) Tensor
- Parameters
X_test –
train_idx –
**kwargs –
Returns:
- attribute_loader(device: device, train_loader: DataLoader, test_loader: DataLoader, batch_size: int = 50, **kwargs) Tensor
- static compute_weights(batch_representations: Tensor, train_representations: Tensor, n_epoch: int = 1000) Tensor
- class TracIn(model: Module, loss_f: callable, save_dir: Path, X_train: Optional[Tensor] = None)
Bases:
ExampleBasedExplainer
,ABC
- _abc_impl = <_abc_data object>
- attribute(X_test: Tensor, train_idx: list, learning_rate: float = 1, **kwargs) Tensor
- Parameters
X_test –
train_idx –
**kwargs –
Returns:
- attribute_loader(device: device, train_loader: DataLoader, test_loader: DataLoader, **kwargs) Tensor