这个地方我做了很多尝试,终于用上了GPU,结果给大家。

方法还是用Conda,使用Docker镜像有30G,在我的部署中也不能解决GPU的问题,我的实验结果是,如果在Docker中使用nvidia-smi 指令,其实显示的CUDA版本也还是宿主机的,在运行的时候会提示GPU not set properly,最后也还是用的CPU。

但是Conda也有一些坑需要踩,首先是你需要安装的东西:

  1. CUDA:从官网下载
  2. CUNVV:Conda
  3. Paddle:pip
  4. PaddleOCR:pip

<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>

到这一步也没有完全解决问题

我碰到的问题是

  1. 找不到CNVV,因为CNVV安装的位置没有在系统路径中
  2. 提示了一个环境错误