igc.base.DataManager#

class igc.base.DataManager(attr, y_required=True)[source]#

Bases: object

Help to setup the different dataloaders iterating over x, x_0, or y_idx.

Parameters:
add_data(x, x_0, y_idx, n_steps, batch_size, x_seed, x_0_seed)[source]#

Setup a data manager iterating over x, x_0, and y_idx.

Parameters:
  • x (None | int | ArrayLike | tuple(ArrayLike))

  • x_0 (None | int | float | ArrayLike | tuple(ArrayLike))

  • y_idx (None | int | ArrayLike)

  • n_steps (int)

  • batch_size (int | tuple(int))

  • x_seed (None | int)

  • x_0_seed (None | int)

Returns:

Resolved y_idx if it was None.

Return type:

int | ArrayLike

add_data_bsc(x, x_0, y_idx, n_iter, x_0_batch_size, x_seed, x_0_seed)[source]#

Setup a data manager dedicated to Baseline Shapley and Baseline Shapley Correlation attribution methods (BaselineShapley and BslShapCorr).

Parameters:
  • x (None | int | ArrayLike | tuple(ArrayLike))

  • x_0 (None | int | float | ArrayLike | tuple(ArrayLike))

  • y_idx (None | int | ArrayLike)

  • n_iter (int)

  • x_0_batch_size (int)

  • x_seed (None | int)

  • x_0_seed (None | int)

Returns:

Resolved y_idx if it was None.

Return type:

int | ArrayLike

add_data_iter_x(x, y_idx, batch_size, x_seed)[source]#

Setup a data manager iterating over x.

Parameters:
  • x (None | int | ArrayLike | tuple(ArrayLike))

  • y_idx (None | int | ArrayLike)

  • batch_size (int)

  • x_seed (None | int)

Returns:

Resolved y_idx if it was None.

Return type:

int | ArrayLike

add_data_iter_x_y_idx(x, y_idx, batch_size, x_seed)[source]#

Setup a data manager iterating over x and y_idx.

Parameters:
  • x (None | int | ArrayLike | tuple(ArrayLike))

  • y_idx (None | int | ArrayLike)

  • batch_size (int | tuple(int))

  • x_seed (None | int)

Returns:

Resolved y_idx if it was None.

Return type:

int | ArrayLike

add_data_naive(x, y_idx, batch_size, x_seed)[source]#

Setup a data manager dedicated to naive attribution methods ( NaiveCorrelation and NaiveTTest).

Parameters:
  • x (None | int | ArrayLike | tuple(ArrayLike))

  • y_idx (None | int | ArrayLike)

  • batch_size (int | tuple(int))

  • x_seed (None | int)

Returns:

Resolved y_idx if it was None.

Return type:

int | ArrayLike

update_x_0_dtld_seed()[source]#

Update the seed of baseline dataloader after its initialization.

If the dataset associated with the dataloader has an attribute dtld.dataset.rng, that represents a random number generator (torch.Generator), it will be updated with the same seed.

Return type:

self