qubvel / segmentation_models.pytorch

Semantic segmentation models with 500+ pretrained convolutional and transformer-based backbones.
https://smp.readthedocs.io/
MIT License
9.14k stars 1.63k forks source link

ImportError: cannot import name '_compile_and_register_class' from 'torch.jit._recursive' (/opt/conda/lib/python3.7/site-packages/torch/jit/_recursive.py) #825

Closed maifeeulasad closed 6 months ago

maifeeulasad commented 8 months ago

I've installed the latest version of this library, now when I'm trying to import it:

import segmentation_models_pytorch as smp

I get the following error: ImportError: cannot import name '_compile_and_register_class' from 'torch.jit._recursive' (/opt/conda/lib/python3.7/site-packages/torch/jit/_recursive.py)

Attached notebook: https://www.kaggle.com/code/maifeeulasad/road-extraction-deepglobe-deeplabv3?scriptVersionId=149374986

Full log:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-6-9b9158dba086> in <module>
----> 1 import segmentation_models_pytorch as smp
      2 import albumentations as album

/opt/conda/lib/python3.7/site-packages/segmentation_models_pytorch/__init__.py in <module>
      1 from . import datasets
----> 2 from . import encoders
      3 from . import decoders
      4 from . import losses
      5 from . import metrics

/opt/conda/lib/python3.7/site-packages/segmentation_models_pytorch/encoders/__init__.py in <module>
----> 1 import timm
      2 import functools
      3 import torch.utils.model_zoo as model_zoo
      4 
      5 from .resnet import resnet_encoders

/opt/conda/lib/python3.7/site-packages/timm/__init__.py in <module>
      1 from .version import __version__
----> 2 from .layers import is_scriptable, is_exportable, set_scriptable, set_exportable
      3 from .models import create_model, list_models, list_pretrained, is_model, list_modules, model_entrypoint, \
      4     is_model_pretrained, get_pretrained_cfg, get_pretrained_cfg_value

/opt/conda/lib/python3.7/site-packages/timm/layers/__init__.py in <module>
      9     set_exportable, set_scriptable, set_no_jit, set_layer_config, set_fused_attn
     10 from .conv2d_same import Conv2dSame, conv2d_same
---> 11 from .conv_bn_act import ConvNormAct, ConvNormActAa, ConvBnAct
     12 from .create_act import create_act_layer, get_act_layer, get_act_fn
     13 from .create_attn import get_attn, create_attn

/opt/conda/lib/python3.7/site-packages/timm/layers/conv_bn_act.py in <module>
      7 
      8 from .create_conv2d import create_conv2d
----> 9 from .create_norm_act import get_norm_act_layer
     10 
     11 

/opt/conda/lib/python3.7/site-packages/timm/layers/create_norm_act.py in <module>
     12 from .evo_norm import *
     13 from .filter_response_norm import FilterResponseNormAct2d, FilterResponseNormTlu2d
---> 14 from .norm_act import BatchNormAct2d, GroupNormAct, LayerNormAct, LayerNormAct2d
     15 from .inplace_abn import InplaceAbn
     16 

/opt/conda/lib/python3.7/site-packages/timm/layers/norm_act.py in <module>
     18 from torch import nn as nn
     19 from torch.nn import functional as F
---> 20 from torchvision.ops.misc import FrozenBatchNorm2d
     21 
     22 from .create_act import get_act_layer

/opt/conda/lib/python3.7/site-packages/torchvision/__init__.py in <module>
      3 from .extension import _HAS_OPS
      4 
----> 5 from torchvision import models
      6 from torchvision import datasets
      7 from torchvision import ops

/opt/conda/lib/python3.7/site-packages/torchvision/models/__init__.py in <module>
     10 from .shufflenetv2 import *
     11 from . import segmentation
---> 12 from . import detection
     13 from . import video
     14 from . import quantization

/opt/conda/lib/python3.7/site-packages/torchvision/models/detection/__init__.py in <module>
----> 1 from .faster_rcnn import *
      2 from .mask_rcnn import *
      3 from .keypoint_rcnn import *

/opt/conda/lib/python3.7/site-packages/torchvision/models/detection/faster_rcnn.py in <module>
      5 import torch.nn.functional as F
      6 
----> 7 from torchvision.ops import misc as misc_nn_ops
      8 from torchvision.ops import MultiScaleRoIAlign
      9 

/opt/conda/lib/python3.7/site-packages/torchvision/ops/__init__.py in <module>
     11 from ._register_onnx_ops import _register_custom_op
     12 
---> 13 _register_custom_op()
     14 
     15 

/opt/conda/lib/python3.7/site-packages/torchvision/ops/_register_onnx_ops.py in _register_custom_op()
      6 
      7 def _register_custom_op():
----> 8     from torch.onnx.symbolic_helper import parse_args, scalar_type_to_onnx, scalar_type_to_pytorch_type, \
      9         cast_pytorch_to_onnx
     10     from torch.onnx.symbolic_opset9 import select, unsqueeze, squeeze, _cast_Long, reshape

/opt/conda/lib/python3.7/site-packages/torch/onnx/symbolic_helper.py in <module>
     15 
     16 # Monkey-patch graph manipulation methods on Graph, used for the ONNX symbolics
---> 17 from torch.onnx import (  # noqa: F401
     18     _constants,
     19     _deprecation,

/opt/conda/lib/python3.7/site-packages/torch/onnx/_patch_torch.py in <module>
      9 
     10 # Import utils to get _params_dict because it is a global that is accessed by c++ code
---> 11 from torch.onnx import _deprecation, utils
     12 from torch.onnx._globals import GLOBALS
     13 from torch.onnx._internal import _beartype

/opt/conda/lib/python3.7/site-packages/torch/onnx/utils.py in <module>
     34 import torch
     35 import torch._C._onnx as _C_onnx
---> 36 import torch.jit._trace
     37 import torch.serialization
     38 from torch import _C

/opt/conda/lib/python3.7/site-packages/torch/jit/_trace.py in <module>
     20 
     21 from torch.jit._state import _python_cu, _enabled
---> 22 from torch.jit._script import ScriptModule, _CachedForward, script
     23 from torch._jit_internal import _qualified_name, is_scripting, get_callable_argument_names
     24 from torch.autograd import function

/opt/conda/lib/python3.7/site-packages/torch/jit/_script.py in <module>
     20 import torch._jit_internal as _jit_internal
     21 from torch.utils import set_module
---> 22 from torch.jit._recursive import ScriptMethodStub, wrap_cpp_module, infer_methods_to_compile, _compile_and_register_class
     23 from torch.nn import Module
     24 from torch.jit._state import _enabled

ImportError: cannot import name '_compile_and_register_class' from 'torch.jit._recursive' (/opt/conda/lib/python3.7/site-packages/torch/jit/_recursive.py)
github-actions[bot] commented 6 months ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 6 months ago

This issue was closed because it has been stalled for 7 days with no activity.