sacdallago / bio_embeddings

Get protein embeddings from protein sequences
http://docs.bioembeddings.com
MIT License
462 stars 65 forks source link

Issue with installing the package #113

Closed deniseduma closed 3 years ago

deniseduma commented 3 years ago

Hi,

So on a second thought, I'd prefer having my own installation of bio_embeddings rather than running it through Docker, however, I encounter the following error when trying to install it on an HPC cluster:

pip3 install -U "bio-embeddings[all] @ git+https://github.com/sacdallago/bio_embeddings.git" > /dev/null Running command git clone -q https://github.com/sacdallago/bio_embeddings.git /tmp/pip-install-xpmyhvui/bio-embeddings

ERROR: requests 2.21.0 has requirement urllib3<1.25,>=1.21.1, but you'll have urllib3 1.25.10 which is incompatible. ERROR: torchvision 0.8.2 has requirement torch==1.7.1, but you'll have torch 1.5.1 which is incompatible. ERROR: cmaes 0.8.0 has requirement numpy<1.20.0, but you'll have numpy 1.20.1 which is incompatible.

So pip tries to update urllib3 and numpy to the newest version, but downgrades my existing torch 1.7.1 installation to torch 1.5.1!

When I use pip3 install -U --upgrade-strategy only-if-needed, there's no difference and the exact same errors are produced!

I don't think this is due to the bio-embeddings package itself, but do you have any idea how I go around this issue?

Thanks, Denise

konstin commented 3 years ago

Hi Denise,

unfortunately, the currently release is bound to pytoch 1.5 (We've pinned that version due to issues with google colab). I'll check whether we can upgrade to 1.7 (I've already done some testing in https://github.com/sacdallago/bio_embeddings/issues/80) and report back.

Best, Konstantin

deniseduma commented 3 years ago

Hi Konstantin,

I'm totally fine with having Pytorch 1.5, the problem is when trying to install bio-embeddings I get this error "ERROR: torchvision 0.8.2 has requirement torch==1.7.1, but you'll have torch 1.5.1 which is incompatible."

so it seems bio-embeddings require Pytorch 1.7 and this is the reason I've installed Pytorch 1.7!

Will it work with 1.5?

Also, what NumPy version does it require because I'm also having issues with that?

Thanks!

deniseduma commented 3 years ago

Btw, torch 1.7.1 can now be installed in Google Colab so you don't have to pin torch anymore to this older version!

deniseduma commented 3 years ago

Ok, so bio-embeddings doesn't work in Google Colab anymore despite the pinning!

It seems an error coming from torchvision

import trochvision

@torch.jit._script_if_tracing 46 def batched_nms( 47 boxes: Tensor,

deniseduma commented 3 years ago

Sorry, the error is

AttributeError Traceback (most recent call last)

in () 1 ----> 2 from bio_embeddings.embed import ProtTransBertBFDEmbedder 3 from Bio import SeqIO 9 frames /usr/local/lib/python3.6/dist-packages/torchvision/ops/boxes.py in () 43 44 ---> 45 @torch.jit._script_if_tracing 46 def batched_nms( 47 boxes: Tensor, AttributeError: module 'torch.jit' has no attribute '_script_if_tracing'
konstin commented 3 years ago

I've updated torch to 1.7 and released bio_embeddings 0.1.6, so now a simple pip install bio_embeddings[all] should work. This should also fix module 'torch.jit' has no attribute '_script_if_tracing' (see also https://github.com/sacdallago/bio_embeddings/issues/111)

deniseduma commented 3 years ago

Thanks, Konstin!

I've only encountered this error, module 'torch.jit' has no attribute '_script_if_tracing', when attempting to install bio_embeddings on Google collab! I think it was due to the fact that torch was too old compared with the torchvision installed in Google Colab or sthg like that!

As I mentioned in my previous reply, I've finally managed to install bio_embeddings on a Slurm cluster with GPU nodes so I'm good!

Thanks for helping!

Denise