I am hoping I am missing something obvious, but I was using the ray:latest-gpu image, and it seems to still be built against python 3.7. I was running into some issues, so I am trying to update by Dockerfile and use a different tag.
At the end of the day, I want to have a stable image with ray, pytorch (including torchvision), and GPU support and python 3.9. I want to avoid playing pip whack-a-mole to get what I hope is a pretty common set of packages installed happily together. I had also tried ray and ray-ml as the base package for latest-py39-gpu; it seemed like the transformers version in that configuration also needed to be upgraded, so I am hoping I can get some pointers before I spend any more time on this.
Dockerfile contents…
FROM rayproject/ray:latest-py39-gpu
Need to update package cache, default ray image has it blank
RUN sudo apt-get update
RUN sudo apt-get install nano
RUN pip install --upgrade transformers[torch] torchvision evaluate datasets nano
I realize the DEPRECATION notice is not the end of the world, but I am a bit confused as to why the “latest” version is built using a now deprecated nvidia base container running a now deprecated version of CUDA.
I was/am having some very annoying issues with protobuf incompatibilities, and even some issues importing transformers which seemed to be throwing some errors. I patched them on 3.7, but I was hoping to simply upgrade to a different base image for my local dockerfile, and am still running into some confusing / unclear behavior.