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:
tile_class (Type) –
runtime (RuntimeParameter) –
pre_post (PrePostProcessingParameter) –
tile_array_class (Type) –
mapping (MappingParameter) –
forward (IOParameters) –
noise_model (BaseNoiseModel) –
drift_compensation (BaseDriftCompensation | None) –
clip (WeightClipParameter) –
remap (WeightRemapParameter) –
modifier (WeightModifierParameter) –
- 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
ordrift_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.