aihwkit.inference.converter.conductance module

Conductance converters for the phenomenological noise models for inference.

class aihwkit.inference.converter.conductance.SinglePairConductanceConverter(g_max=None, g_min=None)[source]

Bases: aihwkit.inference.converter.base.BaseConductanceConverter

Single pair of devices.

Assuming a single pair of devices per cross-point, taking positive and negative weights, respectively, where one device is always at 0.

Parameters
  • g_max (Optional[float]) – In \(\mu S\), the maximal conductance, ie the value the absolute max of the weights will be mapped to.

  • g_min (Optional[float]) – In \(\mu S\), the minimal conductance, ie the value the logical zero of the weights will be mapped to.

convert_back_to_weights(conductances, params)[source]

Convert a matrix of conductances into weights.

Caution

The conversion is assumed deterministic and repeatable.

Parameters
  • conductances (List[torch.Tensor]) – list of conductance tensors representing a weight matrix

  • params (Dict) – param dictionary that was returned from the conversion

Returns

weight matrix

Return type

torch.Tensor

convert_to_conductances(weights)[source]

Convert a weight matrix into conductances.

Caution

The conversion is assumed deterministic and repeatable.

Parameters

weights (torch.Tensor) – weight matrix tensor.

Returns

Tuple of the list of conductance tensors and a params dictionary that is used for the reverse conversion.

Return type

Tuple[List[torch.Tensor], Dict]