关于 WSL docker cuda,安装深度学习 Python 环境

2021-05-20 22:49:23 +08:00
 zxCoder

研究生找了个搞数据库的导师,结果还是躲不过这玩意。。现在啥都得结合深度学习。。。

现在有一个项目需要我跑起来,然后我今天搞了一天的环境,问题有点多。

一开始不清楚就直接装了个 python3.9,然后有个 requirements.txt ,安装包的时候出错,查了一下发现里面用到了 tensorflow1,只能用 3.6,然而我已经不知道要怎么把 python3.9 换成 3.6 (试了几种方法。。。反而把环境搞乱了也没成功)

所以我打算用 docker,反正在本地只要跑跑 demo 就行,所以我写了一个 dockerfile,基于 python3.6 的镜像,把 requirements.txt 拷贝进去再安装,但是还是出现了很多错误。。

其中就有一些红色的也不知道错误还是警告

UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at  /pytorch/c10/cuda/CUDAFunctions.cpp:100.)

这我才想起来好像深度学习得用到一种叫 cuda 的东西,似乎就是这里出的问题。

所以我的问题是,这个 cuda 的环境,我是应该把他装在 docker 容器里吗?还是装在宿主机上,而且我用的是 windows 的 WSL,如果是装在容器里,我应该是找个 linux 镜像,然后再按照系统找到对应的 cuda 版本装上,然后再装上 python 等等。。。。感觉更麻烦了。。。。

所以我还想问针对我配置环境(装个 python3.6 装 cuda 装一些 python 包。。。)这个问题,有没有最简单的方法可以搞定。。。实在是太混乱了


发完帖子又想了一下,我应该是基于一个 cuda 的镜像,在上面装个 python3.6,再装 python 包,是这样吗?

然后 cuda 我的理解它应该是跟硬件相关的吧,那这个 cuda 镜像要根据我机器的显卡还是别的啥来选吗?而且我还多了一层 WSL


我看我电脑只支持 cuda8.0,那我就只能装 8.0 的 docker 镜像吗?

4821 次点击
所在节点    Python
47 条回复
fannas
2021-05-21 16:21:20 +08:00
申请点钱用 azure notebook 吧…跑的飞快,不用关掉就行…
zxCoder
2021-05-21 16:40:34 +08:00
@Muniesa 再请教一个问题。。。我现在有个 requiremets.txt 里面指定了一些包的版本,不过我看上面都没有指定 gpu 还是 cpu 版本,比如 tensorflow pytorch,还有很多我不认识的包,所以直接装整个 requirements 文件有些会出错,有些会装成 cpu 版本(但是我不清楚哪些装错了)

这种情况我是不是应该一个包一个包确定之后单独 conda 装比较好。。。
zxCoder
2021-05-21 17:01:07 +08:00
@Muniesa

就比如这些东西

tensorflow==1.13.1
regex==2020.11.13
networkx==2.5
Keras==2.2.4
scipy==1.5.2
torch_geometric==1.6.3
transformers==4.1.1
torch==1.7.1
torch_scatter==2.0.5
torch_sparse==0.6.8
numpy==1.19.2
graph_tool==2.11
python_igraph==0.8.3
python_Levenshtein==0.12.2
scikit_learn==0.24.1

我大概就只知道 tensorflow keras torch 应该是有 gpu 版本的,然后其他的不太了解。。。
IgniteWhite
2021-05-21 17:15:50 +08:00
见我在 9 楼的链接和内容。conda 可以装和它本身不同版本的 puthon 到虚拟环境。不过我觉得你已经解决了。主流的也有用 pyenv 的
Muniesa
2021-05-21 17:49:27 +08:00
@zxCoder 是的,conda 的依赖处理会比较好,你这些东西有些是互相依赖的,conda 会一起装上,建议先把 tensorflow,keras,pytorch 这种框架装上,然后再看看缺什么继续装。
zxCoder
2021-05-21 17:59:42 +08:00
@IgniteWhite
多谢多谢
supercaizehua
2021-05-21 19:35:05 +08:00
用到啥装啥,一个版本对应一个虚拟环境,这样比较有序

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/778237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX