ersilia-os / eos59rr

GNU General Public License v3.0
0 stars 0 forks source link

New model ready for testing! #7

Closed github-actions[bot] closed 7 months ago

github-actions[bot] commented 8 months ago

This model is ready for testing. If you are assigned to this issue, please try it out using the CLI, Google Colab and DockerHub and let us know if it works!

GemmaTuron commented 7 months ago

@miquelduranfrigola This model is failing at fetch time, it tries to create a docker container inside the model? I think you incorporated this model so can you briefly let me know what might be going on?

10:32:11 | DEBUG    | Run commands: ['pip install tmap', 'pip install rdkit', 'wget https://raw.githubusercontent.com/ersilia-os/eos59rr/main/model/framework/code/bidd-molmap/requirements.txt', 'pip install -r requirements.txt', 'pip install h5py==2.10.0']
10:32:11 | DEBUG    | Writing install commands in /home/gturon/eos/dest/eos59rr/model_install_commands.sh
10:32:11 | DEBUG    | Storing Docker image ersiliaos/eos59rr:repo in the local environment database
10:32:11 | DEBUG    | Done with the Docker setup
10:32:11 | DEBUG    | Building docker image
[+] Building 6.3s (14/14) FINISHED                                                                                                                     
 => [internal] load .dockerignore                                                                                                                 0.1s
 => => transferring context: 2B                                                                                                                   0.0s
 => [internal] load build definition from Dockerfile                                                                                              0.1s
 => => transferring dockerfile: 362B                                                                                                              0.0s
 => [internal] load metadata for docker.io/bentoml/model-server:0.11.0-py37                                                                       1.0s
 => [auth] bentoml/model-server:pull token for registry-1.docker.io                                                                               0.0s
 => [internal] load build context                                                                                                                 2.3s
 => => transferring context: 800.76MB                                                                                                             2.2s
 => [1/8] FROM docker.io/bentoml/model-server:0.11.0-py37@sha256:7e0335ed76bb649a5ad6fb7bbacc82817e25cd6181645b9d0d3f191e5dfcd91e                 0.0s
 => CACHED [2/8] RUN pip install tmap                                                                                                             0.0s
 => CACHED [3/8] RUN pip install rdkit                                                                                                            0.0s
 => CACHED [4/8] RUN wget https://raw.githubusercontent.com/ersilia-os/eos59rr/main/model/framework/code/bidd-molmap/requirements.txt             0.0s
 => CACHED [5/8] RUN pip install -r requirements.txt                                                                                              0.0s
 => CACHED [6/8] RUN pip install h5py==2.10.0                                                                                                     0.0s
 => CACHED [7/8] WORKDIR /repo                                                                                                                    0.0s
 => [8/8] COPY . /repo                                                                                                                            0.9s
 => exporting to image                                                                                                                            2.0s
 => => exporting layers                                                                                                                           2.0s
 => => writing image sha256:06282805a81e9389e72119622a8e1bee7319ad5f5f756f5cff7109f5bd69e101                                                      0.0s
 => => naming to docker.io/ersiliaos/eos59rr:repo                                                                                                 0.0s
10:32:17 | DEBUG    | Running docker
c3e72adbab29616d920733d679d7db7e499b16361ce190a96a56f03d39880a9d
10:32:18 | DEBUG    | Executing container 3810b672-4f38-484a-aaa2-e09f13627ac0
[2024-04-04 08:32:20,118] INFO - BentoService bundle 'eos59rr:20240404083218_9E0156' saved to: /root/bentoml/repository/eos59rr/20240404083218_9E0156
10:32:20 | DEBUG    | Copying bundle from docker image to host
10:32:20 | DEBUG    | Using this temporary directory: /tmp/ersilia-10ibpl5y
10:32:20 | DEBUG    | Loading bentoml
Traceback (most recent call last):
  File "/home/gturon/anaconda3/envs/ersilia/bin/ersilia", line 33, in <module>
    sys.exit(load_entry_point('ersilia', 'console_scripts', 'ersilia')())
  File "/home/gturon/anaconda3/envs/ersilia/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/gturon/anaconda3/envs/ersilia/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/gturon/anaconda3/envs/ersilia/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/gturon/anaconda3/envs/ersilia/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/gturon/anaconda3/envs/ersilia/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/cli/commands/__init__.py", line 22, in wrapper
    return func(*args, **kwargs)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/cli/commands/fetch.py", line 89, in fetch
    _fetch(mf, model_id)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/cli/commands/fetch.py", line 12, in _fetch
    mf.fetch(model_id)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/fetch.py", line 228, in fetch
    self._fetch(model_id)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/fetch.py", line 225, in _fetch
    self._fetch_not_from_dockerhub(model_id=model_id)
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/fetch.py", line 135, in _fetch_not_from_dockerhub
    self._pack()
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/fetch.py", line 99, in _pack
    mp.pack()
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/actions/pack.py", line 63, in pack
    self._run()
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/actions/pack.py", line 58, in _run
    runner.run()
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/pack/runners.py", line 216, in run
    self._run()
  File "/home/gturon/github/ersilia-os/ersilia/ersilia/hub/fetch/pack/runners.py", line 209, in _run
    mdl.save()
AttributeError: 'NoneType' object has no attribute 'save'
Successfully copied 389.2MB to /tmp/ersilia-10ibpl5y
GemmaTuron commented 7 months ago

I do not know how to overpass this: The python/conda installs may not be sufficient, trying docker

miquelduranfrigola commented 7 months ago

It is weird indeed. It works with the --mode conda option. I am not sure what may be going on. In any case, the fetch mode resolver is deciding that the mode should be docker (certainly due to the wget as you suggested).

I think we want to remove the old (legacy) pack with docker option.

GemmaTuron commented 7 months ago

@miquelduranfrigola just to have all info, the exact same model with the descriptors, eos6m4j, has the wget command but does not try to fetch via Docker

HellenNamulinda commented 7 months ago

Hello @GemmaTuron and @miquelduranfrigola, Maybe this model has always had issues locally, as it chooses docker as the default. And I think wget is the cause. The only reason it passes tests for GitHub Actions is because conda is the default mode in github workflows.

So, since it’s a fingerprint model version of the descriptor model(eos6m4j), it should also have a config file to set the default model, just like eos6m4j, and other models(like eos7pw8) with wget in their docker files that were choosing docker as the default mode.

miquelduranfrigola commented 7 months ago

Thanks @HellenNamulinda Indeed, wget must be the cause. Very good point, conda is the default mode in GitHub Actions and this may be why it passes tests. @GemmaTuron, you are a bit more familiar with this model. I guess what Hellen suggests is a good option. Let's set the default mode in the model repo.

GemmaTuron commented 7 months ago

good catch @HellenNamulinda ! Indeed adding the config file works. I've pushed the changes, many thanks. If they pass I'll close this issue