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 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文件的位置:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章