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 (Module) –
input_size (Any) –
rpu_config (RPUConfigBase | None) –
- 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 (Module) –
rpu_config (RPUConfigBase | None) –
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: Module
- name: str
- num_tiles: int
- output_size: Any
- reuse_factor: int
- class aihwkit.utils.analog_info.TileInfo(tile, is_mapped)[source]
Bases:
object
Class for storing tile statistics and information.
- Parameters:
tile (TileModule) –
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 (Module) – PyTorch model to run on the analog platform.
input_size (Any | None) – required to run a forward pass of the model.
rpu_config (RPUConfigBase | None) – resistive processing unit configuration.
- Returns:
AnalogInfo Object.
- Return type: