aihwkit.utils.analog_info module¶
Analog Information utility.
This module prints relevant information about the model and its analog execution.
- class aihwkit.utils.analog_info.AnalogInfo(model, input_size=None, rpu_config=None)[source]¶
Bases:
object
Class for computing and storing results of the analog summary.
- Parameters
model (torch.nn.modules.module.Module) –
input_size (Any) –
rpu_config (Optional[Union[FloatingPointRPUConfig, SingleRPUConfig, UnitCellRPUConfig, InferenceRPUConfig, DigitalRankUpdateRPUConfig]]) –
- calculate_num_tiles()[source]¶
Calculate the total number of tiles needed by the model.
- Return type
int
- class aihwkit.utils.analog_info.LayerInfo(module, rpu_config=None, input_size=None, output_size=None)[source]¶
Bases:
object
Class for storing layer statistics and information.
- Parameters
module (torch.nn.modules.module.Module) –
rpu_config (Optional[Union[FloatingPointRPUConfig, SingleRPUConfig, UnitCellRPUConfig, InferenceRPUConfig, DigitalRankUpdateRPUConfig]]) –
input_size (Any) –
output_size (Any) –
- calculate_reuse_factor()[source]¶
Compute the reuse factor.
The reuse factor is the number of vector matrix multiplication a layer computes.
- Return type
None
- input_size: Any¶
- isanalog: bool¶
- kernel_size: Any¶
- module: torch.nn.modules.module.Module¶
- name: str¶
- num_tiles: int¶
- output_size: Any¶
- reuse_factor: int¶
- tiles_info: List[aihwkit.utils.analog_info.TileInfo]¶
- class aihwkit.utils.analog_info.TileInfo(tile, is_mapped)[source]¶
Bases:
object
Class for storing tile statistics and information.
- Parameters
tile (aihwkit.simulator.tiles.base.BaseTile) –
is_mapped (bool) –
- log_in_size: Any¶
- log_out_size: Any¶
- phy_in_size: Any¶
- phy_out_size: Any¶
- utilization: float¶
- aihwkit.utils.analog_info.analog_summary(model, input_size=None, rpu_config=None)[source]¶
Summarize the given PyTorch model.
Summarized information includes:
Layer names,
input/output shapes,
kernel shape,
# of digital parameters,
# of analog parameters,
# of analog tiles
reuse factor
- Parameters
model (torch.nn.modules.module.Module) – PyTorch model to run on the analog platform.
input_size (Optional[Any]) – required to run a forward pass of the model.
rpu_config (Optional[Union[FloatingPointRPUConfig, SingleRPUConfig, UnitCellRPUConfig, InferenceRPUConfig, DigitalRankUpdateRPUConfig]]) – resistive processing unit configuration.
- Returns
AnalogInfo Object.
- Return type