Windows下的VScode用Docker(WSL2)容器做运行环境
这个业务需求看起来挺奇葩,因为想用rapids包换掉sklearn,用GPU跑更快,但我想用Docker版本的。
docker run,不要-rm
对官方的初始化bash命令做了小修改,会创建一个名为cupy的容器,将Windows本机d:\Code\Python\
硬链接到Linux的/data
。
注意,关闭此命令行窗口后,容器就会停止运行。
docker run --gpus all --name="cupy" -v d:\Code\Python\:/data -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 8888:8888 -p 8787:8787 -p 8786:8786 rapidsai/rapidsai:23.08a-cuda11.2.2-py3.9
VScode连接至现有的Docker环境
安装vscode插件:dev container
按F1
调出命令面板,搜索附加到正在运行的容器
,选择cupy
打开文件夹
,选择/data
如果有文件io操作,python也要改变当前工作目录
import os
os.chdir('/data')
因为windows下scikit-learn跑的时候,CPU几乎不转,3%不到的占用。
换linux就跑起来了,20%的CPU占用