这个地方我做了很多尝试,终于用上了GPU,结果给大家。
方法还是用Conda,使用Docker镜像有30G,在我的部署中也不能解决GPU的问题,我的实验结果是,如果在Docker中使用nvidia-smi 指令,其实显示的CUDA版本也还是宿主机的,在运行的时候会提示GPU not set properly,最后也还是用的CPU。
但是Conda也有一些坑需要踩,首先是你需要安装的东西:
<aside> 💡 这几个是顺序关系,而且需要非常关注各个软件的版本,2-4都可以使用以下的environment.yml安装
</aside>
在我的安装过程中,CUDA版本是v12.5
name: paddleocr
channels:
- defaults
- <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main>
- <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r>
- <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2>
- <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/>
dependencies:
- paddlepaddle-gpu==2.6.1.post120 # 必须指定post120为cuda版本号
- cudatoolkit=11.6
- pip
有几个是需要跟你的版本进行绑定的,一个是CUNVV的版本,一个是**paddlepaddle-gpu 的版本**
CUNVV的版本可以参照这个https://docs.nvidia.com/deploy/cuda-compatibility/,我的解决方案比较野蛮,就是直接用最新的。
conda search cudatoolkit
因为我的CUDA版本是12.5,所以我指定**paddlepaddle-gpu==2.6.1.post120** ,我理解大版本号要保持一致,我尝试一下过使用**paddlepaddle-gpu==2.6.1** ,用不了。
conda env create -f environment.yml
conda activate paddleocr
<aside>
💡 在这里我还碰到过一个隐藏BUG,我安装之后一直用不了,后来发现在powershell 中激活环境根本没切换,你可以使用Get-Command python来验证,我的案例中cmd可以,不过这倒是不影响程序运行。
</aside>
到这一步也没有完全解决问题
我碰到的问题是