MilesCranmer / symbolic_deep_learning

Code for "Discovering Symbolic Models from Deep Learning with Inductive Biases"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Demo not working due to bad torch version

subditosdeChantal opened this issue · comments

Hi,

I tried to run your demo and failed when importing models with,


> ---------------------------------------------------------------------------
> 
> OSError                                   Traceback (most recent call last)
> 
> <ipython-input-5-bd1aa79e6e09> in <module>()
> ----> 1 import models
>       2 import simulate
> 
> /content/models.py in <module>()
>       4 from torch.functional import F
>       5 from torch.optim import Adam
> ----> 6 from torch_geometric.nn import MetaLayer, MessagePassing
>       7 from torch.nn import Sequential as Seq, Linear as Lin, ReLU, Softplus
>       8 from torch.autograd import Variable, grad
> 
> /usr/local/lib/python3.6/dist-packages/torch_geometric/__init__.py in <module>()
>       1 from .debug import is_debug_enabled, debug, set_debug
> ----> 2 import torch_geometric.nn
>       3 import torch_geometric.data
>       4 import torch_geometric.datasets
>       5 import torch_geometric.transforms
> 
> /usr/local/lib/python3.6/dist-packages/torch_geometric/nn/__init__.py in <module>()
>       1 from .meta import MetaLayer
> ----> 2 from .data_parallel import DataParallel
>       3 from .reshape import Reshape
>       4 from .conv import *  # noqa
>       5 from .norm import *  # noqa
> 
> /usr/local/lib/python3.6/dist-packages/torch_geometric/nn/data_parallel.py in <module>()
>       3 
>       4 import torch
> ----> 5 from torch_geometric.data import Batch
>       6 
>       7 
> 
> /usr/local/lib/python3.6/dist-packages/torch_geometric/data/__init__.py in <module>()
> ----> 1 from .data import Data
>       2 from .batch import Batch
>       3 from .dataset import Dataset
>       4 from .in_memory_dataset import InMemoryDataset
>       5 from .dataloader import DataLoader, DataListLoader, DenseDataLoader
> 
> /usr/local/lib/python3.6/dist-packages/torch_geometric/data/data.py in <module>()
>       6 import torch
>       7 import torch_geometric
> ----> 8 from torch_sparse import coalesce, SparseTensor
>       9 from torch_geometric.utils import (contains_isolated_nodes,
>      10                                    contains_self_loops, is_undirected)
> 
> /usr/local/lib/python3.6/dist-packages/torch_sparse/__init__.py in <module>()
>      11 ]:
>      12     torch.ops.load_library(importlib.machinery.PathFinder().find_spec(
> ---> 13         library, [osp.dirname(__file__)]).origin)
>      14 
>      15 if torch.cuda.is_available() and torch.version.cuda:  # pragma: no cover
> 
> /usr/local/lib/python3.6/dist-packages/torch/_ops.py in load_library(self, path)
>     103             # static (global) initialization code in order to register custom
>     104             # operators with the JIT.
> --> 105             ctypes.CDLL(path)
>     106         self.loaded_libraries.add(path)
>     107 
> 
> /usr/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
>     346 
>     347         if handle is None:
> --> 348             self._handle = _dlopen(self._name, mode)
>     349         else:
>     350             self._handle = handle
> 
> OSError: /usr/local/lib/python3.6/dist-packages/torch_sparse/_convert.so: undefined symbol: _ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_11DispatchKeyE

I've solved it changing torch version,

!export CUDA=cu101 && pip install --upgrade torch-scatter==latest+${CUDA} torch-sparse==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.6.0.html

to 1.7.0,

!export CUDA=cu101 && pip install --upgrade torch-scatter==latest+${CUDA} torch-sparse==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.7.0.html

Regards,

Hi,

Thanks for letting me know, and thanks for the fix! I will merge this right away.

Cheers!
Miles