This issue provides an example of a looking-for-help issue. This helps us to efficiently reproduce your problem on our end and help you to find solutions.
Question: It seems the current commen_meta_layers raises an error when analysing resnet18's BatchNorm layer?
Traceback (most recent call last):
File "/data/zz7522/Projects/mase-tools/machop/./ch", line 4, in <module>
ChopCLI().run()
File "/data/zz7522/Projects/mase-tools/machop/chop/cli.py", line 195, in run
self._run_transform()
File "/data/zz7522/Projects/mase-tools/machop/chop/cli.py", line 302, in _run_transform
transform(**transform_params)
File "/data/zz7522/Projects/mase-tools/machop/chop/actions/transform.py", line 61, in transform
graph = add_common_metadata_analysis_pass(graph, pass_args=dummy_in)
File "/data/zz7522/Projects/mase-tools/machop/chop/passes/analysis/add_metadata/add_common_metadata.py", line 260, in add_common_metadata_analysis_pass
graph = graph_iterator_for_metadata(graph, pass_args)
File "/data/zz7522/Projects/mase-tools/machop/chop/passes/analysis/add_metadata/add_common_metadata.py", line 218, in graph_iterator_for_metadata
analysis_common_parameters(node, dummy_in)
File "/data/zz7522/Projects/mase-tools/machop/chop/passes/analysis/add_metadata/add_common_metadata.py", line 155, in analysis_common_parameters
node.meta["mase"] = analyse_common_parameters_module(node.meta["mase"])
File "/data/zz7522/Projects/mase-tools/machop/chop/passes/analysis/add_metadata/common_metadata_layers.py", line 295, in analyse_common_parameters_module
size = _get_size_by_module_simulation(meta)
File "/data/zz7522/Projects/mase-tools/machop/chop/passes/analysis/add_metadata/common_metadata_layers.py", line 282, in _get_size_by_module_simulation
result = meta.module(dummy_data, *args, **kwargs)
File "/home/zz7522/anaconda3/envs/mase-sw/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/zz7522/anaconda3/envs/mase-sw/lib/python3.10/site-packages/torch/nn/modules/batchnorm.py", line 171, in forward
return F.batch_norm(
File "/home/zz7522/anaconda3/envs/mase-sw/lib/python3.10/site-packages/torch/nn/functional.py", line 2448, in batch_norm
_verify_batch_size(input.size())
File "/home/zz7522/anaconda3/envs/mase-sw/lib/python3.10/site-packages/torch/nn/functional.py", line 2416, in _verify_batch_size
raise ValueError("Expected more than 1 value per channel when training, got input size {}".format(size))
ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 512, 1, 1])
This issue provides an example of a looking-for-help issue. This helps us to efficiently reproduce your problem on our end and help you to find solutions.
Question: It seems the current
commen_meta_layers
raises an error when analysing resnet18's BatchNorm layer?Commit hash: 98cf7a681b91bb524edc6a81f72cbf289c2acec1
Command to reproduce:
Error message or full log: