-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dockerHSSM #439
base: main
Are you sure you want to change the base?
dockerHSSM #439
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this PR! We generally discourage our users from using docker, especially since they can easily install hssm from conda-forge now, but there could be some special use cases for docker. I've suggested some changes. Since we can't see the diffs of the notebooks, can you let us know what are the changes and fixes to the notebooks?
Thanks again for contributing!
Dockerfile
Outdated
|
||
USER $NB_UID | ||
|
||
RUN conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be an issue for most of the users. Any reason why we cannot use conda-forge
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, and that's because in my tests in China, using this proxy to prevents installation failures. Our previous experience building dockerHDDM tells me that this being applied to github should work as well. Of course, one can also use the original forge and should get the same results.
After trying it out, I realised that using conda would take hours, whereas using pip was significantly faster, so I ended up using pip.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In our experience, we encountered an issue with the pip-installed pytensor not being able to find the blas library, resulting it falling back to the numpy C-API and much slower performance overall. That's why we worked to put hssm on PyPI. Is there any issue like this with this docker image?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if we installed pytensor correctly. But using the following code, I found that pytensor should recognize the blas library.
import pytensor
print(pytensor.config.blas__ldflags)
# -L/opt/conda/lib -llapack -lblas -lcblas -lm -Wl,-rpath,/opt/conda/lib
Please let me know if there are other better testing methods to ensure that pytensor is installed correctly
Dynamically fetch versions; and perform github action either at release time or manually.
add workflow_dispatch
update: install toml
@panwanke Thank you again for your help with this! We really appreciate the effort in fixing the inconsistencies in our notebooks! In principle I agree with all the changes but the last one. We want to keep the notebooks directly executable in Google Colab, so switching to a local reference to the onnx files might break that. Maybe you can download all networks from the huggingface repo to the docker image, and then add references (commented out) to the onnx files locally? People can then uncomment the code when there is no Internet |
Thanks for the suggestion. I'm sorry I didn't think about running in colab before. I've now commented out where I need to use onnx and added an explanation. For example, like this,
|
Add a dockerfile for dockerizing the HSSM and a
docker-image.yml
for allowing github action.I tested the all notebooks in
tutorials
folder, and fix some issues.