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

ImportError: cannot import name 'TransformerEncoderLayer' from 'fairseq.modules #225

Closed
Carlos25130 opened this issue Sep 2, 2022 · 6 comments
Assignees

Comments

@Carlos25130
Copy link

Carlos25130 commented Sep 2, 2022

Thank you for your work and your attentive answers to every question.

The problem occurs when I run sh train_caption_stage1.sh . Something went wrong with fairseq

Traceback (most recent call last):
File "../../train.py", line 29, in
from fairseq import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/quantization_utils.py", line 8, in
from fairseq.modules.quantization import pq, quantization_options, scalar
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py", line 39, in
from .transformer_layer import TransformerDecoderLayer, TransformerEncoderLayer
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/transformer_layer.py", line 15, in
from fairseq.models.transformer import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 236, in
import_models(models_dir, "fairseq.models")
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 218, in import_models
importlib.import_module(namespace + "." + model_name)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/importlib/init.py", line 127, in import_module
Traceback (most recent call last):
return _bootstrap._gcd_import(name[level:], package, level) File "../../train.py", line 29, in

File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/init.py", line 7, in
from .convtransformer import * # noqa
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/convtransformer.py", line 19, in
from fairseq import (
from fairseq.modules import LayerNorm, PositionalEmbedding, TransformerEncoderLayer
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/quantization_utils.py", line 8, in
ImportError: cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)
from fairseq.modules.quantization import pq, quantization_options, scalar
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py", line 39, in
from .transformer_layer import TransformerDecoderLayer, TransformerEncoderLayer
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/transformer_layer.py", line 15, in
from fairseq.models.transformer import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 236, in
import_models(models_dir, "fairseq.models")
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 218, in import_models
importlib.import_module(namespace + "." + model_name)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/init.py", line 7, in
from .convtransformer import * # noqa
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/convtransformer.py", line 19, in
from fairseq.modules import LayerNorm, PositionalEmbedding, TransformerEncoderLayer
ImportError: cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)
Traceback (most recent call last):
File "../../train.py", line 29, in
from fairseq import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/quantization_utils.py", line 8, in
from fairseq.modules.quantization import pq, quantization_options, scalar
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py", line 39, in
from .transformer_layer import TransformerDecoderLayer, TransformerEncoderLayer
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/transformer_layer.py", line 15, in
from fairseq.models.transformer import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 236, in
import_models(models_dir, "fairseq.models")
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 218, in import_models
importlib.import_module(namespace + "." + model_name)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/init.py", line 7, in
from .convtransformer import * # noqa
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/convtransformer.py", line 19, in
from fairseq.modules import LayerNorm, PositionalEmbedding, TransformerEncoderLayer
ImportError: cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)
Traceback (most recent call last):
File "../../train.py", line 29, in
from fairseq import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/quantization_utils.py", line 8, in
from fairseq.modules.quantization import pq, quantization_options, scalar
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py", line 39, in
from .transformer_layer import TransformerDecoderLayer, TransformerEncoderLayer
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/transformer_layer.py", line 15, in
from fairseq.models.transformer import (
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 236, in
import_models(models_dir, "fairseq.models")
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/init.py", line 218, in import_models
importlib.import_module(namespace + "." + model_name)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/init.py", line 7, in
from .convtransformer import * # noqa
File "/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/models/speech_to_text/convtransformer.py", line 19, in
from fairseq.modules import LayerNorm, PositionalEmbedding, TransformerEncoderLayer
ImportError: cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 16406) of binary: /home/carlos/anaconda3/envs/GenerativeImage2Text/bin/python3
Traceback (most recent call last):
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/launch.py", line 193, in
main()
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/launch.py", line 189, in main
launch(args)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/launch.py", line 174, in launch
run(args)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/run.py", line 755, in run
)(*cmd_args)
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/carlos/anaconda3/envs/GenerativeImage2Text/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 247, in launch_agent
failures=result.failures,
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:

@yangapku
Copy link
Member

yangapku commented Sep 2, 2022

Hi, please try to uninstall these dependent packages if installed: bitarray colorama hydra-core importlib_resources omegaconf sacrebleu tabulate and then reinstall the fairseq in our repo (uninstall and then reinstall from file).

@yangapku yangapku self-assigned this Sep 2, 2022
@Carlos25130
Copy link
Author

Hi, please try to uninstall these dependent packages if installed: bitarray colorama hydra-core importlib_resources omegaconf sacrebleu tabulate and then reinstall the fairseq in our repo (uninstall and then reinstall from file).

Thanks a lot, I'll try it

@Carlos25130
Copy link
Author

Hi, please try to uninstall these dependent packages if installed: bitarray colorama hydra-core importlib_resources omegaconf sacrebleu tabulate and then reinstall the fairseq in our repo (uninstall and then reinstall from file).

I have tried reinstall fairseq, but still get the error:
ImportErrorImportError: : cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)cannot import name 'TransformerEncoderLayer' from 'fairseq.modules' (/home/carlos/cv_project/OFA/OFA/fairseq/fairseq/modules/init.py)

@yangapku
Copy link
Member

yangapku commented Sep 4, 2022

Will this issue help #217 ?

@yangapku
Copy link
Member

yangapku commented Sep 4, 2022

Could you please share the pip (pip list) and conda (conda list) info for us to have a check?

@Carlos25130
Copy link
Author

Will this issue help #217 ?
Thank you very much for your answer, I refer to #217, reduced the pip version and reinstalled facirseq, which successfully solved the problem. My previous pip version was 22.2.2 and I downgraded to 21.2.4.

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