isayevlab / AIMNet2

MIT License
100 stars 25 forks source link

Dockerfile and requirements.txt for reproducibility #3

Closed leelasd closed 1 year ago

leelasd commented 1 year ago

Hi,

I am opening this issue to add the requirements.txt and Dockerfile for containerizing this awesome repo :)

zubatyuk commented 1 year ago

Thanks for the example docker file. Two questions:

Overall, I'm not sure if Dockerfile belongs to this repository. I will think about this. The main goal here is to provide models and examples, not to build a re-distributable package.

leelasd commented 1 year ago

Oops, sorry, I added the requirements file. I realized it was easier to directly add them to the Dockerfile since it only has a few dependencies.

I used pip to install packages that are well defined as using mamba/conda with large channels like conda-forge takes forever to install any python package. If we want more strict versioning of dependencies, we can add the version numbers to PyPI. Overall, Pypi is much faster, and if you are using it on AWS/GCP cloud resources, using Conda can slow you down quite a lot.

Unfortunately, Openbabel 3.0 cannot be installed via pip, so I used mamba and Mambaforge base image.

It's totally up to you if you want to keep the Dockerfile or not. I found the repo to be very useful, and Dockerizing the repo is the best way to run the code on my system without disturbing the existing packages. So, I wanted to share that. Feel free to reject/close the PR.