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

Set running_torchscript recursively #14657

Merged
merged 2 commits into from
Sep 12, 2022

Conversation

carmocca
Copy link
Contributor

What does this PR do?

Fixes bug reported in Slack:

Traceback (most recent call last):
  File "t.py", line 23, in <module>
    lm.to_torchscript(method='script')
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/pytorch_lightning/core/module.py", line 1926, in to_torchscript
    torchscript_module = torch.jit.script(self.eval(), **kwargs)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_script.py", line 1265, in script
    return torch.jit._recursive.create_script_module(
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 451, in create_script_module
    concrete_type = get_module_concrete_type(nn_module, share_types)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 402, in get_module_concrete_type
    concrete_type = concrete_type_store.get_or_create_concrete_type(nn_module)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 343, in get_or_create_concrete_type
    concrete_type_builder = infer_concrete_type_builder(nn_module)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 208, in infer_concrete_type_builder
    sub_concrete_type = get_module_concrete_type(item, share_types)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 402, in get_module_concrete_type
    concrete_type = concrete_type_store.get_or_create_concrete_type(nn_module)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 343, in get_or_create_concrete_type
    concrete_type_builder = infer_concrete_type_builder(nn_module)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 251, in infer_concrete_type_builder
    overloads.update(get_overload_name_mapping(get_overload_annotations(nn_module, ignored_properties)))
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/torch/jit/_recursive.py", line 617, in get_overload_annotations
    item = getattr(mod, name, None)
  File "/home/pete/.pyenv/versions/3.8.6/envs/python38/lib/python3.8/site-packages/pytorch_lightning/core/module.py", line 180, in trainer
    raise RuntimeError(f"{self.__class__.__qualname__} is not attached to a `Trainer`.")
RuntimeError: Child is not attached to a `Trainer`.

Does your PR introduce any breaking changes? If yes, please list them.

None

Before submitting

  • Was this discussed/approved via a GitHub issue? (not for typos and docs)
  • Did you read the contributor guideline, Pull Request section?
  • Did you make sure your PR does only one thing, instead of bundling different changes together?
  • [n/a] Did you make sure to update the documentation with your changes? (if necessary)
  • Did you write any new necessary tests? (not for typos and docs)
  • Did you verify new and existing tests pass locally with your changes?
  • Did you list all the breaking changes introduced by this pull request?
  • Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review

  • Is this pull request ready for review? (if not, please submit in draft mode)
  • Check that all items from Before submitting are resolved
  • Make sure the title is self-explanatory and the description concisely explains the PR
  • Add labels and milestones (and optionally projects) to the PR so it can be classified

@carmocca carmocca added bug Something isn't working lightningmodule pl.LightningModule pl Generic label for PyTorch Lightning package labels Sep 12, 2022
@carmocca carmocca added this to the pl:1.7.x milestone Sep 12, 2022
@carmocca carmocca self-assigned this Sep 12, 2022
@mergify mergify bot added the ready PRs ready to be merged label Sep 12, 2022
@justusschock justusschock enabled auto-merge (squash) September 12, 2022 14:06
@justusschock justusschock merged commit cf34287 into master Sep 12, 2022
@justusschock justusschock deleted the bugfix/running-torchscript-recursively branch September 12, 2022 14:39
krshrimali pushed a commit that referenced this pull request Sep 13, 2022
* Set `running_torchscript` recursively

* CHANGELOG
krshrimali pushed a commit that referenced this pull request Sep 13, 2022
* Set `running_torchscript` recursively

* CHANGELOG
krshrimali pushed a commit that referenced this pull request Sep 13, 2022
* Set `running_torchscript` recursively

* CHANGELOG
lexierule pushed a commit that referenced this pull request Sep 13, 2022
* Set `running_torchscript` recursively

* CHANGELOG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lightningmodule pl.LightningModule pl Generic label for PyTorch Lightning package ready PRs ready to be merged
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants