Ray Docker Versioning Clarification: I want ray, torchvision, gpu + python >3.9

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.

Hi @dagutman,

I was able to run this install command without any problems. Could you provide the exact repro steps? I used rayproject/ray:latest-py39-cu118.

Also, I agree that we should update our “default” versions to more updated ones (CUDA, python).