aihwkit.simulator.presets.inference module

RPU configurations presets for resistive processing units.

class aihwkit.simulator.presets.inference.StandardHWATrainingPreset(tile_class=<class 'aihwkit.simulator.tiles.inference.InferenceTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, noise_model=<factory>, drift_compensation=<factory>, clip=<factory>, remap=<factory>, modifier=<factory>)[source]

Bases: InferenceRPUConfig

Preset configuration for AIMC (Analog In-Mememory Compute) accuracy evaluation.

This preset configuration can be used as a baseline for comparative AIMC studies. It defines a standard AIMC noisy inference evaluation setting for comparable benchmarking of hardware-aware training methods and noise robustness of different DNN architectures. for AIMC.

See Rasch et al. ArXiv 2023 for detailed discussions and attainable accuracy for state-of-the art hardware-aware training across many larger-scale DNNs.

Parameters:
clip: WeightClipParameter

Parameter for weight clip.

If a clipping type is set, the weights are clipped according to the type specified.

Caution

The clipping type is set to None by default, setting parameters of the clipping will not be taken into account, if the clipping type is not specified.

drift_compensation: BaseDriftCompensation | None

For compensating the drift during inference only.

forward: IOParameters

Input-output parameter setting for the forward direction.

This parameters govern the hardware definitions specifying analog MVM non-idealities.

Note

This forward pass is applied equally in training and inference. In addition, materials effects such as drift and programming noise can be enabled during inference by specifying the noise_model

mapping: MappingParameter

Parameter related to mapping weights to tiles for supporting modules.

noise_model: BaseNoiseModel

Statistical noise model to be used during (realistic) inference.

This noise models establishes a phenomenological model of the material which is applied to the weights during inference only, when program_analog_weights or drift_analog_weights is called.

pre_post: PrePostProcessingParameter

Parameter related digital pre and post processing.

remap: WeightRemapParameter

Parameter for remapping.

Remapping can be enabled by specifying a remap type. If enabled, it ensures that the weights are mapped maximally into the conductance units during training. It will be called after each mini-batch.