torchdrug
torchdrug copied to clipboard
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Version:
torch==1.13.0
torch-geometric==2.3.0
torchdrug==0.2.0
Code:
import torch_geometric
Output:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[7], line 1
----> 1 import torch_geometric
File ~/env/lib/python3.8/site-packages/torch_geometric/__init__.py:2
1 import torch_geometric.utils
----> 2 import torch_geometric.data
3 import torch_geometric.sampler
4 import torch_geometric.loader
File ~/env/lib/python3.8/site-packages/torch_geometric/data/__init__.py:7
5 from .data import Data
6 from .hetero_data import HeteroData
----> 7 from .batch import Batch
8 from .temporal import TemporalData
9 from .dataset import Dataset
File ~/env/lib/python3.8/site-packages/torch_geometric/data/batch.py:11
9 from torch_geometric.data.collate import collate
10 from torch_geometric.data.data import BaseData, Data
---> 11 from torch_geometric.data.dataset import IndexType
12 from torch_geometric.data.separate import separate
15 class DynamicInheritance(type):
16 # A meta class that sets the base class of a `Batch` object, e.g.:
17 # * `Batch(Data)` in case `Data` objects are batched together
18 # * `Batch(HeteroData)` in case `HeteroData` objects are batched together
File ~/env/lib/python3.8/site-packages/torch_geometric/data/dataset.py:20
15 from torch_geometric.data.makedirs import makedirs
17 IndexType = Union[slice, Tensor, np.ndarray, Sequence]
---> 20 class Dataset(torch.utils.data.Dataset, ABC):
21 r"""Dataset base class for creating graph datasets.
22 See `here <https://pytorch-geometric.readthedocs.io/en/latest/tutorial/
23 create_dataset.html>`__ for the accompanying tutorial.
(...)
41 downloading and processing the dataset. (default: :obj:`True`)
42 """
43 @property
44 def raw_file_names(self) -> Union[str, List[str], Tuple]:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Bumping this up -- also experiencing this issue. No problem if loading torchdrug
after PyG.
Also seeing this issue with esm
:
`TypeError Traceback (most recent call last)
Cell In[6], line 1
----> 1 from torchdrug import core, models, tasks, utils
3 model = models.GIN(input_dim=dataset.node_feature_dim,
4 hidden_dims=[256, 256, 256, 256],
5 short_cut=True, batch_norm=True, concat_hidden=True)
6 task = tasks.PropertyPrediction(model, task=dataset.tasks,
7 criterion="bce", metric=("auprc", "auroc"))
File ~/anaconda3/envs/linea/lib/python3.9/site-packages/torchdrug/models/init.py:10 8 from .infograph import InfoGraph, MultiviewContrast 9 from .flow import GraphAutoregressiveFlow ---> 10 from .esm import EvolutionaryScaleModeling 11 from .embedding import TransE, DistMult, ComplEx, RotatE, SimplE 12 from .neurallp import NeuralLogicProgramming
File ~/anaconda3/envs/linea/lib/python3.9/site-packages/torchdrug/models/esm.py:6 4 import torch 5 from torch import nn ----> 6 import esm 8 from torchdrug import core, layers, utils, data 9 from torchdrug.layers import functional
File ~/anaconda3/envs/linea/lib/python3.9/site-packages/esm/init.py:8 ... 28 # and it's up to whatever consumes the dataset to decide what valid_flow_mask should be. 29 _has_builtin_flow_mask = False 31 def init(self, root, transforms=None):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`
Also seeing this issue with
esm
: `TypeError Traceback (most recent call last) Cell In[6], line 1 ----> 1 from torchdrug import core, models, tasks, utils 3 model = models.GIN(input_dim=dataset.node_feature_dim, 4 hidden_dims=[256, 256, 256, 256], 5 short_cut=True, batch_norm=True, concat_hidden=True) 6 task = tasks.PropertyPrediction(model, task=dataset.tasks, 7 criterion="bce", metric=("auprc", "auroc"))File ~/anaconda3/envs/linea/lib/python3.9/site-packages/torchdrug/models/init.py:10 8 from .infograph import InfoGraph, MultiviewContrast 9 from .flow import GraphAutoregressiveFlow ---> 10 from .esm import EvolutionaryScaleModeling 11 from .embedding import TransE, DistMult, ComplEx, RotatE, SimplE 12 from .neurallp import NeuralLogicProgramming
File ~/anaconda3/envs/linea/lib/python3.9/site-packages/torchdrug/models/esm.py:6 4 import torch 5 from torch import nn ----> 6 import esm 8 from torchdrug import core, layers, utils, data 9 from torchdrug.layers import functional
File ~/anaconda3/envs/linea/lib/python3.9/site-packages/esm/init.py:8 ... 28 # and it's up to whatever consumes the dataset to decide what valid_flow_mask should be. 29 _has_builtin_flow_mask = False 31 def init(self, root, transforms=None):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`
Have you been able to solve this issue for esm?