facebookresearch / esm

Evolutionary Scale Modeling (esm): Pretrained language models for proteins
MIT License
3.16k stars 627 forks source link

pip3 install missing inverse_folding #221

Closed Oran-G closed 2 years ago

Oran-G commented 2 years ago

NOTE: if this is not a bug report, please use the GitHub Discussions for support questions (How do I do X?), feature requests, ideas, showcasing new applications, etc.

Bug description When I use pip3 install as per ESM Inverse Folding notebook, esm is missing inverse_folding

Reproduction steps Enter steps to reproduce the behavior.

pip3 install git+https://github.com/facebookresearch/esm.git python3

import esm from esm import inverse_folding Expected behavior Give a clear and concise description of what you expected to happen. ideally, the package should import without error

Logs OSError: libcudart.so.10.2: cannot open shared object file: No such file or directory

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/ext3/miniconda3/lib/python3.9/site-packages/fair_esm-0.4.2-py3.9.egg/esm/inverse_folding/__init__.py", line 6, in <module>
    from . import gvp_transformer
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/ext3/miniconda3/lib/python3.9/site-packages/fair_esm-0.4.2-py3.9.egg/esm/inverse_folding/gvp_transformer.py", line 16, in <module>
    from .features import DihedralFeatures
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/ext3/miniconda3/lib/python3.9/site-packages/fair_esm-0.4.2-py3.9.egg/esm/inverse_folding/features.py", line 24, in <module>
    from .gvp_modules import GVP, LayerNorm
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/ext3/miniconda3/lib/python3.9/site-packages/fair_esm-0.4.2-py3.9.egg/esm/inverse_folding/gvp_modules.py", line 17, in <module>
    from torch_geometric.nn import MessagePassing
  File "/ext3/miniconda3/lib/python3.9/site-packages/torch_geometric/__init__.py", line 4, in <module>
    import torch_geometric.data
  File "/ext3/miniconda3/lib/python3.9/site-packages/torch_geometric/data/__init__.py", line 1, in <module>
    from .data import Data
  File "/ext3/miniconda3/lib/python3.9/site-packages/torch_geometric/data/data.py", line 9, in <module>
    from torch_sparse import SparseTensor
  File "/ext3/miniconda3/lib/python3.9/site-packages/torch_sparse/__init__.py", line 19, in <module>
    torch.ops.load_library(spec.origin)
  File "/ext3/miniconda3/lib/python3.9/site-packages/torch/_ops.py", line 220, in load_library
    ctypes.CDLL(path)
  File "/ext3/miniconda3/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcudart.so.10.2: cannot open shared object file: No such file or directory

Additional context I am in a SLURM Cluster running torch-1.11.0+cu102. the code is running in a conda environment within a singularity instance

tomsercu commented 2 years ago

The error indicates the issue is deeper in your stack, torch is not able to find the correct cuda library to link against. I strongly suspect you'll get the same error if you just try to access torch.cuda.device(0) From your comment torch-1.11.0+cu102 the solution may just be to get cuda 10.2 on your LD_LIBRARY_PATH. Depending on your cluster environment and its interaction with singularity, it may be something like module load cuda/10.2

Oran-G commented 2 years ago

Thank you for the help! esm is (mostly) working now!

tomsercu commented 2 years ago

good to hear! marking this as closed now