Skip to content
This repository was archived by the owner on Sep 18, 2024. It is now read-only.
This repository was archived by the owner on Sep 18, 2024. It is now read-only.

NNI.compression.pytorch.speedup.compressor #4666

Open
@BAI-721

Description

@BAI-721

Describe the issue:
I encountered the problem when using NNI pruning for FPN-ResNet network compression.
input_size = [3, 3, 64, 64]
The error is reported as follows.
Traceback (most recent call last):
File "E:/pythonProject/NNI.py", line 89, in
m_speedup.speedup_model()
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 507, in speedup_model
self.infer_modules_masks()
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 353, in infer_modules_masks
self.update_direct_sparsity(curnode)
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 215, in update_direct_sparsity
func, dummy_input, in_masks, in_constants=in_constants, batch_dim=self.batch_dim)
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\infer_mask.py", line 80, in init
self.output = self.module(*dummy_input)
TypeError: add() received an invalid combination of arguments - got (Tensor), but expected (Tensor input, Tensor other, *, Number alpha, Tensor out)
Sometimes it also reports an error as follows.
Traceback (most recent call last):
File "E:/pythonProject/NNI.py", line 89, in
m_speedup.speedup_model()
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 507, in speedup_model
self.infer_modules_masks()
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 353, in infer_modules_masks
self.update_direct_sparsity(curnode)
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\compressor.py", line 215, in update_direct_sparsity
func, dummy_input, in_masks, in_constants=in_constants, batch_dim=self.batch_dim)
File "E:\Anaconda\lib\site-packages\nni\compression\pytorch\speedup\infer_mask.py", line 80, in init
self.output = self.module(*dummy_input)
TypeError: mean() received an invalid combination of arguments - got (dim=tuple, keepdim=bool, ), but expected one of:

  • (Tensor input, *, torch.dtype dtype)
  • (Tensor input, tuple of ints dim, bool keepdim, *, torch.dtype dtype, Tensor out)
  • (Tensor input, tuple of names dim, bool keepdim, *, torch.dtype dtype, Tensor out)

Looking forward to an early reply.

Environment:

  • NNI version:2.6
  • Training service (local|remote|pai|aml|etc):
  • Client OS:
  • Server OS (for remote mode only):
  • Python version:3.6
  • PyTorch/TensorFlow version:
  • Is conda/virtualenv/venv used?:
  • Is running in Docker?:

Configuration:

  • Experiment config (remember to remove secrets!):
  • Search space:

Log message:

  • nnimanager.log:
  • dispatcher.log:
  • nnictl stdout and stderr:

How to reproduce it?:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions