ersilia-os / eos7pw8

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

Clean UP & Dockerization of eos7pw8 #4

Closed GemmaTuron closed 1 year ago

GemmaTuron commented 1 year ago

Hi @samuelmaina !

Please check the repo is up to date with the newest workflows and structure

samuelmaina commented 1 year ago

@GemmaTuron , I have created a new PR. Can I choose another model and self assign from the project list models for cleaning?

GemmaTuron commented 1 year ago

Hi @samuelmaina

The DockerHub build has failed. Please check the action to understand what might have happened

samuelmaina commented 1 year ago

@GemmaTuron the model failed due to the arm64 (specifically, modules are not installed, rdkit was not found) build but AMD was successful. The resolution of the Arm64 issue in the template I think will solve this issue for the model.

GemmaTuron commented 1 year ago

Hi @samuelmaina

Please work together with @ZakiaYahya and @emmakodes to understand how can we bypass this issue on the ARM64 build. Are all models failing due to RDKIT?

GemmaTuron commented 1 year ago

Hi @samuelmaina

Can you check the RDKIT issue and see if another rdkit version would be able to build the ARM64?

samuelmaina commented 1 year ago

@GemmaTuron Different models are failing due to different packages. Let me see if we would be able to run the docker.yaml locally and I will see if a different rdkit version will run.

GemmaTuron commented 1 year ago

Hi @samuelmaina

What is the progress here?

samuelmaina commented 1 year ago

@GemmaTuron , thanks for the reminder.I will try the suggested rdkit versions.

GemmaTuron commented 1 year ago

Hi @samuelmaina I don't see any PR, you mention in this issue you did the changes?

samuelmaina commented 1 year ago

@GemmaTuron , the last PR was using rdkit 2023.3.1 so I thought Emma issue may have caused the docker to fail. You can run the PR manually and tell if it still fails.

GemmaTuron commented 1 year ago

the Action is running, please check it when its ready

samuelmaina commented 1 year ago

Still failed. I am seeing the latest version of rdkit should work with the ARM64 and that is what I have done, (I haven't put the rdkit specific version).Let me continue to investigate the issue further

samuelmaina commented 1 year ago

@GemmaTuron , I have made a PR. Conda was resovling to the rdkit 2020.03. even if I was giving the latest version. I have set and confirmed that it always resolves to 2023.03 version. I have opened a PR, can you merge it to see if it will succeed?

miquelduranfrigola commented 1 year ago

@GemmaTuron - once you have merged the PR, we can update the workflows of this model. Let me know if you need my help.

GemmaTuron commented 1 year ago

@samuelmaina You are installing rdkit twice. I have modified the Dockerfile to save time and added the new workflows. Please next time make sure to check for this :

RUN pip install rdkit==2023.03.1
RUN conda install -c rdkit -c lich syba
GemmaTuron commented 1 year ago

The new workflows are running, let us know the outcome @samuelmaina !

samuelmaina commented 1 year ago

@samuelmaina You are installing rdkit twice. I have modified the Dockerfile to save time and added the new workflows. Please next time make sure to check for this :

RUN pip install rdkit==2023.03.1
RUN conda install -c rdkit -c lich syba

Sorry for the misunderstanding.The first command is installing rdkit but the second is sourcing syba from the the lich channel which is found in the rdkit channel. The syba package must be fetched from the the two nested channels. syba comes with rdkit 2020 but with the two commands it resolves to 2023 version.

GemmaTuron commented 1 year ago

Ok, so syba need the 2020 version but having the 2023 works?

samuelmaina commented 1 year ago

fetched

Ok, so syba need the 2020 version but having the 2023 works?

Yes @GemmaTuron . I was able to predict with it and checked the model env and it was resolving to 2023

GemmaTuron commented 1 year ago

@samuelmaina

I've catched a bug in th workflow files thanks to the runs in this repo, check this issue I'll now update the dockerfile again to the rdkit channel and please check that the workflows complete successfully

samuelmaina commented 1 year ago

@GemmaTuron , I think the logic of the issue is good, it will work . The syba fails for ARM 64. syba is a native package written by the model authors. I don't know how we can solve this but I will try.

samuelmaina commented 1 year ago

But the docker workflow registers success since AMD version was correctly built

GemmaTuron commented 1 year ago

@samuelmaina The latest build on docker is failing, could you check? If we are unable to build the docker image with the zip file we might want to revert to the previous version of the model... @miquelduranfrigola what do you think?

GemmaTuron commented 1 year ago

I see this error, the syba package seems to not be able to be installed: #5 154.7 Model API eos7pw8:run did not produce an outputError occurred while loading the model: No module named 'syba'

samuelmaina commented 1 year ago

Hi @GemmaTuron , The model was only building for AMD 64 but now builds for both architectures and the image sizes of the two are also equal and greatly minimized. Maybe you can investigate this to see if the same can done to produce the ARM 64 images for other models and also reduce the Docker image size.

GemmaTuron commented 1 year ago

Hi @samuelmaina this can be done in the case where a package has been uploaded in the internet, in this case Syba is a conda package so we can wget it. Is not always the case and not always convenient, but we can keep this in mind for future use cases, of course!