Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STDC train my dataset get an error: TypeError: forward() got an unexpected keyword argument 'ignore_index' #3273

Closed
gitleej opened this issue Aug 17, 2023 · 2 comments

Comments

@gitleej
Copy link

gitleej commented Aug 17, 2023

model: STDC2
error trace:

Traceback (most recent call last):
  File "E:\00-Truking\02-Code\mmsegmentation\tools\train.py", line 104, in <module>
    main()
  File "E:\00-Truking\02-Code\mmsegmentation\tools\train.py", line 100, in main
    runner.train()
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\runner.py", line 1745, in train
    model = self.train_loop.run()  # type: ignore
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\loops.py", line 278, in run
    self.run_iter(data_batch)
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\loops.py", line 301, in run_iter
    outputs = self.runner.model.train_step(
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\model\base_model\base_model.py", line 114, in train_step
    losses = self._run_forward(data, mode='loss')  # type: ignore
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\model\base_model\base_model.py", line 340, in _run_forward
    results = self(**data, mode=mode)
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\base.py", line 94, in forward
    return self.loss(inputs, data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\encoder_decoder.py", line 182, in loss
    loss_aux = self._auxiliary_head_forward_train(x, data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\encoder_decoder.py", line 152, in _auxiliary_head_forward_train
    loss_aux = aux_head.loss(inputs, data_samples, self.train_cfg)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\decode_head.py", line 262, in loss
    losses = self.loss_by_feat(seg_logits, batch_data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\stdc_head.py", line 96, in loss_by_feat
    loss = super().loss_by_feat(seg_logits, batch_sample_list)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\decode_head.py", line 324, in loss_by_feat
    loss[loss_decode.loss_name] = loss_decode(
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
TypeError: forward() got an unexpected keyword argument 'ignore_index'

Process finished with exit code 1

How to solve this error?

@gitleej
Copy link
Author

gitleej commented Aug 18, 2023

model: STDC2 error trace:

Traceback (most recent call last):
  File "E:\00-Truking\02-Code\mmsegmentation\tools\train.py", line 104, in <module>
    main()
  File "E:\00-Truking\02-Code\mmsegmentation\tools\train.py", line 100, in main
    runner.train()
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\runner.py", line 1745, in train
    model = self.train_loop.run()  # type: ignore
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\loops.py", line 278, in run
    self.run_iter(data_batch)
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\runner\loops.py", line 301, in run_iter
    outputs = self.runner.model.train_step(
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\model\base_model\base_model.py", line 114, in train_step
    losses = self._run_forward(data, mode='loss')  # type: ignore
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\mmengine\model\base_model\base_model.py", line 340, in _run_forward
    results = self(**data, mode=mode)
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\base.py", line 94, in forward
    return self.loss(inputs, data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\encoder_decoder.py", line 182, in loss
    loss_aux = self._auxiliary_head_forward_train(x, data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\segmentors\encoder_decoder.py", line 152, in _auxiliary_head_forward_train
    loss_aux = aux_head.loss(inputs, data_samples, self.train_cfg)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\decode_head.py", line 262, in loss
    losses = self.loss_by_feat(seg_logits, batch_data_samples)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\stdc_head.py", line 96, in loss_by_feat
    loss = super().loss_by_feat(seg_logits, batch_sample_list)
  File "E:\00-Truking\02-Code\mmsegmentation\mmseg\models\decode_heads\decode_head.py", line 324, in loss_by_feat
    loss[loss_decode.loss_name] = loss_decode(
  File "D:\ProgramData\.conda\envs\openmmlab\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
TypeError: forward() got an unexpected keyword argument 'ignore_index'

Process finished with exit code 1

How to solve this error?

[Fix] Added ignore_index and one hot encoding for dice loss #3237

@gitleej gitleej closed this as completed Aug 18, 2023
@xhlho
Copy link

xhlho commented Oct 9, 2024

I'm the same. Do you have any experts who have solved it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants