lczerolens.lenses#

Lenses module.

Submodules#

Classes#

ActivationLens

Class for activation-based XAI methods.

CompositeLens

Composite lens for XAI.

GradientLens

Class for gradient-based XAI methods.

LrpLens

Class for wrapping the LCZero models.

PatchingLens

Class for activation-based XAI methods.

ProbingLens

Class for probing-based XAI methods.

Package Contents#

class lczerolens.lenses.ActivationLens(pattern=None)[source]#

Bases: lczerolens.lens.Lens

Class for activation-based XAI methods.

Examples

model = LczeroModel.from_path(model_path)
lens = ActivationLens()
board = LczeroBoard()
results = lens.analyse(board, model=model)
Parameters:

pattern (Optional[str])

_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict

class lczerolens.lenses.CompositeLens(lenses, merge_results=True)[source]#

Bases: lczerolens.lens.Lens

Composite lens for XAI.

Examples

model = LczeroModel.from_path(model_path)
lens = CompositeLens([ActivationLens(), GradientLens()])
board = LczeroBoard()
results = lens.analyse(board, model=model)
Parameters:
_lens_map#
merge_results = True#
is_compatible(model)[source]#

Returns whether the lens is compatible with the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

Whether the lens is compatible with the model.

Return type:

bool

prepare(model, **kwargs)[source]#

Prepare the model for the lens.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The prepared model.

Return type:

LczeroModel

_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict

class lczerolens.lenses.GradientLens(*, input_requires_grad=True, **kwargs)[source]#

Bases: lczerolens.lens.Lens

Class for gradient-based XAI methods.

Parameters:

input_requires_grad (bool)

input_requires_grad = True#
_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict

class lczerolens.lenses.LrpLens(pattern=None)[source]#

Bases: lczerolens.lens.Lens

Class for wrapping the LCZero models.

Parameters:

pattern (Optional[str])

_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict

class lczerolens.lenses.PatchingLens(patch_fn, **kwargs)[source]#

Bases: lczerolens.lens.Lens

Class for activation-based XAI methods.

Examples

model = LczeroModel.from_path(model_path)
lens = PatchingLens()
board = LczeroBoard()
patch_fn = lambda n, m, *kwargs: pass
results = lens.analyse(board, model=model)
Parameters:

patch_fn (Callable)

_patch_fn#
_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict

class lczerolens.lenses.ProbingLens(probe_fn, **kwargs)[source]#

Bases: lczerolens.lens.Lens

Class for probing-based XAI methods.

Examples

model = LczeroModel.from_path(model_path)
lens = ProbingLens(probe)
board = LczeroBoard()
results = lens.analyse(board, model=model)
Parameters:

probe_fn (Callable)

_probe_fn#
_intervene(model, **kwargs)[source]#

Intervene on the model.

Parameters:

model (LczeroModel) – The NNsight model.

Returns:

The intervention results.

Return type:

dict