docker拉取的pytorch-gpu版找不到cuda和cudnn的位置,为何?
问题描述pytorch 镜像位置:https://hub.docker.com/r/pytorch/pytorch/tags拉取镜像:docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-runtime查看本地现有镜像清单:创建一个容器:docker run --gpus all -td --name=liujiepeng_pytorch pytorch/
·
问题描述
pytorch 镜像位置:
https://hub.docker.com/r/pytorch/pytorch/tags
拉取镜像:
docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-runtime
查看本地现有镜像清单:
创建一个容器:
docker run --gpus all -td --name=liujiepeng_pytorch pytorch/pytorch bash
注意:其实这里有两个repository名字相同,tag名不同的版本。可以通过用repository:tag
进行区分。
进入容器内部:
docker exec -it liujiepeng_pytorch bash
发现在内部找不到cuda和cudnn的位置?
可以看出,有CUDA的驱动(10.2),但是找不到lib文件。也没有nvcc
。但是在pytorch内部查看cuda版本:
可以看出cuda版本是10.1,这与拉取的镜像版本一致。
原因分析
究其原因是拉取的镜像是runtime
版,所以只有runtime版本的cuda,并没有compiler版。这与安装带有CUDA libs的Pytorch二进制文件类似。Pytorch可以在GPU上运行,但是此时不需要安装完整的CUDA libs,所以也就不能在这个运行环境之外使用nvcc
。
解决方案
如果拉取dev版:
docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-devel
则可以如下图看到lib文件的位置:
更多推荐
已为社区贡献2条内容
所有评论(0)