snorkel.map.BaseMapper

class snorkel.map.BaseMapper(name, pre, memoize, memoize_key=None)[source]

Bases: object

Base class for Mapper and LambdaMapper.

Implements nesting, memoization, and deep copy functionality. Used primarily for type checking.

Parameters
  • name (str) – Name of the mapper

  • pre (List[BaseMapper]) – Mappers to run before this mapper is executed

  • memoize (bool) – Memoize mapper outputs?

  • memoize_key (Optional[Callable[[Any], Hashable]]) – Hashing function to handle the memoization (default to snorkel.map.core.get_hashable)

Raises

NotImplementedError – Subclasses need to implement _generate_mapped_data_point

memoize[source]

Memoize mapper outputs?

__init__(name, pre, memoize, memoize_key=None)[source]

Initialize self. See help(type(self)) for accurate signature.

Return type

None

Methods

__init__(name, pre, memoize[, memoize_key])

Initialize self.

reset_cache()

Reset the memoization cache.

__call__(x)[source]

Run mapping function on input data point.

Deep copies the data point first so as not to make accidental in-place changes. If memoize is set to True, an internal cache is checked for results. If no cached results are found, the computed results are added to the cache.

Parameters

x (Any) – Data point to run mapping function on

Returns

Mapped data point of same format but possibly different fields

Return type

DataPoint

reset_cache()[source]

Reset the memoization cache.

Return type

None