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

Get AttributeError: type object 'object' has no attribute 'SUM' #15494

Closed
hangfei opened this issue Nov 3, 2022 · 7 comments · Fixed by #15535
Closed

Get AttributeError: type object 'object' has no attribute 'SUM' #15494

hangfei opened this issue Nov 3, 2022 · 7 comments · Fixed by #15535
Assignees
Labels
bug Something isn't working priority: 0 High priority task strategy: colossalai (removed) Colossal-AI
Milestone

Comments

@hangfei
Copy link

hangfei commented Nov 3, 2022

Bug description

Getting this error:

self, tensor: Tensor, group: Optional[Any] = None, reduce_op: Optional[Union[ReduceOp, str]] = ReduceOp.SUM

E AttributeError: type object 'object' has no attribute 'SUM'

How to reproduce the bug

Install pyg and run pytest.

Error messages and logs

test/conftest.py:7: in <module>
    from torch_geometric.data import Dataset
torch_geometric/__init__.py:4: in <module>
    import torch_geometric.data
torch_geometric/data/__init__.py:7: in <module>
    from .lightning_datamodule import (
torch_geometric/data/lightning_datamodule.py:24: in <module>
    from pytorch_lightning import LightningDataModule as PLLightningDataModule
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/__init__.py:35: in <module>
    from pytorch_lightning.callbacks import Callback  # noqa: E402
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/callbacks/__init__.py:28: in <module>
    from pytorch_lightning.callbacks.pruning import ModelPruning
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/callbacks/pruning.py:31: in <module>
    from pytorch_lightning.core.module import LightningModule
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/core/__init__.py:16: in <module>
    from pytorch_lightning.core.module import LightningModule
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/core/module.py:47: in <module>
    from pytorch_lightning.trainer.connectors.logger_connector.fx_validator import _FxValidator
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/trainer/__init__.py:17: in <module>
    from pytorch_lightning.trainer.trainer import Trainer
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py:57: in <module>
    from pytorch_lightning.loops import PredictionLoop, TrainingEpochLoop
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/__init__.py:15: in <module>
    from pytorch_lightning.loops.batch import TrainingBatchLoop  # noqa: F401
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/batch/__init__.py:15: in <module>
    from pytorch_lightning.loops.batch.training_batch_loop import TrainingBatchLoop  # noqa: F401
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py:20: in <module>
    from pytorch_lightning.loops.optimization.manual_loop import _OUTPUTS_TYPE as _MANUAL_LOOP_OUTPUTS_TYPE
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/optimization/__init__.py:15: in <module>
    from pytorch_lightning.loops.optimization.manual_loop import ManualOptimization  # noqa: F401
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/optimization/manual_loop.py:23: in <module>
    from pytorch_lightning.loops.utilities import _build_training_step_kwargs, _extract_hiddens
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/loops/utilities.py:29: in <module>
    from pytorch_lightning.strategies.parallel import ParallelStrategy
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/strategies/__init__.py:16: in <module>
    from pytorch_lightning.strategies.colossalai import ColossalAIStrategy  # noqa: F401
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/strategies/colossalai.py:48: in <module>
    class ColossalAIStrategy(DDPStrategy):
../../../opt/anaconda3/envs/sparse_tensor/lib/python3.8/site-packages/pytorch_lightning/strategies/colossalai.py:435: in ColossalAIStrategy
    self, tensor: Tensor, group: Optional[Any] = None, reduce_op: Optional[Union[ReduceOp, str]] = ReduceOp.SUM
E   AttributeError: type object 'object' has no attribute 'SUM'

Environment


#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow):
#- PyTorch Lightning Version (e.g., 1.5.0):
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 1.10):
#- Python version (e.g., 3.9):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):
#- Running environment of LightningApp (e.g. local, cloud):

More info

No response

cc @tchaton @rohitgr7

@hangfei hangfei added the needs triage Waiting to be triaged by maintainers label Nov 3, 2022
@agoel00
Copy link

agoel00 commented Nov 3, 2022

I am getting the same error on M1 Mac while importing pytorch_lightning

@awaelchli awaelchli added bug Something isn't working priority: 0 High priority task strategy: colossalai (removed) Colossal-AI and removed needs triage Waiting to be triaged by maintainers labels Nov 3, 2022
@awaelchli awaelchli added this to the v1.8.x milestone Nov 3, 2022
@hangfei
Copy link
Author

hangfei commented Nov 3, 2022

For local testing, i was able to work around it by pip uninstall pytorch_lightning.

@adamjstewart
Copy link
Contributor

adamjstewart commented Nov 3, 2022

Same error for me on M1:

  • Lightning Component: all
  • PyTorch Lightning Version: 1.8.0
  • Lightning App Version: N/A
  • PyTorch Version: 1.12.1
  • Python version: 3.9.13
  • OS: macOS 12.6.1 (arm64)
  • CUDA/cuDNN version: N/A
  • GPU models and configuration: N/A
  • How you installed Lightning: spack
  • Running environment of LightningApp: N/A

Downgrading to 1.7.7 solved the issue for now. Hoping this gets fixed in 1.8.1.

@agoel00
Copy link

agoel00 commented Nov 4, 2022

Downgrading to 1.7.7 solved it for me as well. I think the issue is due to the ColossalAI Integration added in 1.8

@awaelchli
Copy link
Contributor

This linked PR should fix this issue. Thanks for reporting! This bug affects all users with a torch installation where torch.distributed.is_available() returns False.

@adamjstewart
Copy link
Contributor

This isn't the first time PyTorch Lightning broke support for PyTorch build without distributed support: #10348

I wonder if it would be possible to test PyTorch without distributed support in CI...

@awaelchli
Copy link
Contributor

I have already investigated in that direction. One could change it in the CI like you said. For now, I pretend distributed is not available. What I have added so far is this regression test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority: 0 High priority task strategy: colossalai (removed) Colossal-AI
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants