paddlepaddle2.6,paddleorc2.8,cuda12,cudnn,nccl,python10环境

1.安装英伟达显卡驱动
首先需要到NAVIDIA官网去查自己的电脑是不是支持GPU运算。
网址是:CUDA GPUs | NVIDIA Developer。打开后的界面大致如下,只要里边有对应的型号就可以用GPU运算,并且每一款设备都列出来相关的计算能力(Compute Capability)。

系统层面查看当前安装的显卡型号:

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# lspci | grep nvida
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# lspci | grep VGA
3b:00.0 VGA compatible controller: NVIDIA Corporation GV104 [GeForce GTX 1180] (rev a1)
5e:00.0 VGA compatible controller: NVIDIA Corporation GV104 [GeForce GTX 1180] (rev a1)
86:00.0 VGA compatible controller: NVIDIA Corporation GV104 [GeForce GTX 1180] (rev a1)
af:00.0 VGA compatible controller: NVIDIA Corporation GV104 [GeForce GTX 1180] (rev a1)

如果是ubuntu系统:明确了显卡性能后,接下来就开始在ubuntu系统安装对应的显卡驱动。

首先,检测NVIDIA图形卡和推荐的驱动程序的模型,在终端输入:

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# ubuntu-drivers devices
WARNING:root:_pkg_get_support nvidia-driver-530: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-515-server: package has invalid Support PBheader, cannot determine support level
WARNING:root:_pkg_get_support nvidia-driver-525-server: package has invalid Support PBheader, cannot determine support level
== /sys/devices/pci0000:3a/0000:3a:00.0/0000:3b:00.0 ==
modalias : pci:v000010DEd00001E87sv00001458sd000037A8bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-530 - distro non-free recommended
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-440 - third-party non-free
driver   : nvidia-driver-515 - third-party non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-515-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-418 - third-party non-free
driver   : nvidia-driver-460 - third-party non-free
driver   : nvidia-driver-450 - third-party non-free
driver   : nvidia-driver-470 - third-party non-free
driver   : nvidia-driver-455 - third-party non-free
driver   : nvidia-driver-495 - third-party non-free
driver   : nvidia-driver-525 - third-party non-free
driver   : nvidia-driver-465 - third-party non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-410 - third-party non-free
driver   : nvidia-driver-520 - third-party non-free
driver   : nvidia-driver-510 - third-party non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

具体可以使用下面的命令安装:

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~#  ubuntu-drivers autoinstall

或者去官网下载驱动再手动安装的方式,命令官网上有。

下载 NVIDIA 官方驱动 | NVIDIA

NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

安装完成后重启系统,然后在终端中输入命令检测是否安装成功:

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# nvidia-smi
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# nvidia-smi
Fri Jul 12 15:43:58 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03              Driver Version: 530.41.03    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 2080         Off| 00000000:3B:00.0 Off |                  N/A |
| 32%   41C    P8                3W / 225W|      8MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 2080         Off| 00000000:5E:00.0 Off |                  N/A |
| 27%   41C    P8                4W / 225W|      8MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce RTX 2080         Off| 00000000:86:00.0 Off |                  N/A |
| 27%   36C    P8                1W / 225W|      8MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce RTX 2080         Off| 00000000:AF:00.0 Off |                  N/A |
| 31%   43C    P8                9W / 225W|     80MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A     52177      G   /usr/lib/xorg/Xorg                            4MiB |
|    1   N/A  N/A     52177      G   /usr/lib/xorg/Xorg                            4MiB |
|    2   N/A  N/A     52177      G   /usr/lib/xorg/Xorg                            4MiB |
|    3   N/A  N/A     52177      G   /usr/lib/xorg/Xorg                           28MiB |
|    3   N/A  N/A     52282      G   /usr/bin/gnome-shell                         46MiB |
+---------------------------------------------------------------------------------------+
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~#

上图显示cuda最高支持12.1版本

驱动版本Driver Version: 530.41.03

显卡型号:NVIDIA GeForce RTX 2080

显卡num:共计4个 每个显存大小8G

2.安装CUDA
首先要知道硬件支持的CUDA版本:
在上图右上角我们看到“CUDA Version:12.1”,这个表明对于这款显卡,我们后面要装的CUDA版本最高不能超过12.1。

其次要明确CUDA版本需求:

本文最终的目的是装好深度学习环境,这里指的是最终能够正常的使用pytorch[facebook公司]和paddlepaddle【百度公司】或TensorFlow【google公司】。这三款是当前使用比较多的深度学习框架,pytorch[facebook]侧重于科研和模型验证,paddlepaddle更适合工业级深度学习开发部署(当然也可以使用tensorflow)。

为了能够使用他们,我们接下来需要按照顺序安装CUDA、cuDNN、nccl、paddlepaddle、pytorch【省略】安装paddleocr。

在正式安装前我们首先要来确定当前的版本一致性,否则装到后面就会发现各种版本问题了。

接下来我们先看paddlepaddle和pytorch官网目前稳定版所支持的cuda。

paddlepaddle目前官网安装界面如下图所示:

pytorch官网安装界面:

尽量选择两个框架都支持的了,并且本机驱动也支持的CUDA版本。

接下来开始安装:

首先在英伟达官网下载cuda12进行安装即可。

照runfile(local)安装的方式简单,只需要在终端输入图中下方的两条NVIDIA推荐的命令就好了。

2中方式
1)交互
./cuda_xxxxxxx_linux.run
2)静默
./cuda_xxxxxxx_linux.run --silent --toolkit --samples
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~#  vim ~/.bashrcexport PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

最后,更新环境变量配置:

source ~/.bashrc

至此cuda安装完成,输入nvcc -V命令查看cuda信息。

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:~# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Mon_Oct_24_19:12:58_PDT_2022
Cuda compilation tools, release 12.0, V12.0.76
Build cuda_12.0.r12.0/compiler.31968024_0

如果想要卸载CUDA(例如重新安装了驱动等情况),需要使用下面的命令:

cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

3.安装CUDNN

cuDNN(CUDA Deep Neural Network library) 是由NVIDIA开发的一个深度学习GPU加速库。

目的和功能: cuDNN旨在提供高效、标准化的原语(基本操作)来加速深度学习框架(例如TensorFlow、PyTorch)在NVIDIA GPU上的运算。

专门为深度学习设计:cuDNN提供了为深度学习任务高度优化的函数,如:

  • 卷积操作
  • 池化操作
  • 激活函数
  • 归一化等

安装CUDNN的过程相对比较简单。上官网进行下载。

选择对应的CUDA版本,单击后选择cuDNN Library for Linux(x86_64)下载安装包。

然后打开终端输入类似下面的命令进行解压并拷贝安装:

cp -Pcudnn*/include/cudnn*.h cuda/include/
cp -P cudnn*/lib/libcudnn*  cuda/lib64/
chmod a+r cuda/include/cudnn*.h cuda/lib64/libcudnn*

其实,cuDNN的安装本质上就是复制一堆的文件到CUDA中去。

我们可以使用如下的命令查看cuDNN的信息:

CUDN + cuDNN安装完成,我们可以监控一下gpu状态:

watch -n 1 nvidia-smi

4.安装NCCL

由于深度学习分布式训练需要nccl支持,可以调用多张显卡计算,因此本小节来安装nccl。

首先从官网下载对应版本的nccl.

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/usr/local# tar -xf nccl_2.19.3-1+cuda12.0_x86_64.txz  
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/usr/local# ln -sf nccl_2.19.3-1+cuda12.0_x86_64 nccl 
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/usr/local# cd include/^C
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/usr/local# cat /etc/ld.so.conf.d/nccl_2.19.3-1+cuda12.0.conf 
/usr/local/nccl/lib
(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/usr/local/include# ln -sf ../nccl/include nccl

没安装之前报错: 

安装之后:

>>> import paddle
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ... 
I0712 17:30:32.906308 16653 program_interpreter.cc:212] New Executor is Running.
W0712 17:30:32.906838 16653 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.1, Runtime API Version: 12.0
W0712 17:30:32.940363 16653 gpu_resources.cc:164] device: 0, cuDNN Version: 8.0.
I0712 17:30:35.770787 16653 interpreter_util.cc:624] Standalone Executor is Used.
PaddlePaddle works well on 1 GPU.
======================= Modified FLAGS detected =======================
FLAGS(name='FLAGS_selected_gpus', current_value='2', default_value='')
=======================================================================
I0712 17:30:38.527948 17096 tcp_utils.cc:107] Retry to connect to 127.0.0.1:40265 while the server is not yet listening.
======================= Modified FLAGS detected =======================
FLAGS(name='FLAGS_selected_gpus', current_value='3', default_value='')
=======================================================================
I0712 17:30:38.738694 17097 tcp_utils.cc:107] Retry to connect to 127.0.0.1:40265 while the server is not yet listening.
======================= Modified FLAGS detected =======================
FLAGS(name='FLAGS_selected_gpus', current_value='1', default_value='')
=======================================================================
I0712 17:30:38.817551 17095 tcp_utils.cc:107] Retry to connect to 127.0.0.1:40265 while the server is not yet listening.
======================= Modified FLAGS detected =======================
FLAGS(name='FLAGS_selected_gpus', current_value='0', default_value='')
=======================================================================
I0712 17:30:39.014600 17094 tcp_utils.cc:181] The server starts to listen on IP_ANY:40265
I0712 17:30:39.014768 17094 tcp_utils.cc:130] Successfully connected to 127.0.0.1:40265
I0712 17:30:41.528342 17096 tcp_utils.cc:130] Successfully connected to 127.0.0.1:40265
I0712 17:30:41.528888 17096 process_group_nccl.cc:129] ProcessGroupNCCL pg_timeout_ 1800000
I0712 17:30:41.739022 17097 tcp_utils.cc:130] Successfully connected to 127.0.0.1:40265
I0712 17:30:41.776871 17097 process_group_nccl.cc:129] ProcessGroupNCCL pg_timeout_ 1800000
I0712 17:30:41.817867 17095 tcp_utils.cc:130] Successfully connected to 127.0.0.1:40265
I0712 17:30:41.840788 17095 process_group_nccl.cc:129] ProcessGroupNCCL pg_timeout_ 1800000
I0712 17:30:41.851110 17094 process_group_nccl.cc:129] ProcessGroupNCCL pg_timeout_ 1800000
W0712 17:30:43.391786 17096 gpu_resources.cc:119] Please NOTE: device: 2, GPU Compute Capability: 7.5, Driver API Version: 12.1, Runtime API Version: 12.0
W0712 17:30:43.394407 17096 gpu_resources.cc:164] device: 2, cuDNN Version: 8.0.
W0712 17:30:43.564615 17097 gpu_resources.cc:119] Please NOTE: device: 3, GPU Compute Capability: 7.5, Driver API Version: 12.1, Runtime API Version: 12.0
W0712 17:30:43.566882 17097 gpu_resources.cc:164] device: 3, cuDNN Version: 8.0.
W0712 17:30:43.627422 17095 gpu_resources.cc:119] Please NOTE: device: 1, GPU Compute Capability: 7.5, Driver API Version: 12.1, Runtime API Version: 12.0
W0712 17:30:43.629004 17095 gpu_resources.cc:164] device: 1, cuDNN Version: 8.0.
W0712 17:30:43.656805 17094 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.1, Runtime API Version: 12.0
W0712 17:30:43.659112 17094 gpu_resources.cc:164] device: 0, cuDNN Version: 8.0.
I0712 17:30:46.433609 17096 process_group_nccl.cc:132] ProcessGroupNCCL destruct 
I0712 17:30:46.433516 17095 process_group_nccl.cc:132] ProcessGroupNCCL destruct 
I0712 17:30:46.435761 17097 process_group_nccl.cc:132] ProcessGroupNCCL destruct 
I0712 17:30:46.437583 17094 process_group_nccl.cc:132] ProcessGroupNCCL destruct 
I0712 17:30:46.843884 17168 tcp_store.cc:289] receive shutdown event and so quit from MasterDaemon run loop
PaddlePaddle works well on 4 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

 

验证NCCL

 https://github.com/NVIDIA/nccl-tests
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl# ls
nccl-tests-2.13.9  nccl-tests-2.13.9.tar.gz
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl# cd nccl-tests-2.13.9/
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# ls^C
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# 
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# ls
doc  LICENSE.txt  Makefile  README.md  src  verifiable
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# make
make -C src build BUILDDIR=/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build
make[1]: 进入目录“/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/src”
Compiling  timer.cc                            > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/timer.o
Compiling /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/verifiable/verifiable.o
Compiling  all_reduce.cu                       > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_reduce.o
Compiling  common.cu                           > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/common.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_reduce.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_reduce_perf
Compiling  all_gather.cu                       > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_gather.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_gather.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/all_gather_perf
Compiling  broadcast.cu                        > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/broadcast.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/broadcast.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/broadcast_perf
Compiling  reduce_scatter.cu                   > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce_scatter.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce_scatter.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce_scatter_perf
Compiling  reduce.cu                           > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/reduce_perf
Compiling  alltoall.cu                         > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/alltoall.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/alltoall.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/alltoall_perf
Compiling  scatter.cu                          > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/scatter.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/scatter.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/scatter_perf
Compiling  gather.cu                           > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/gather.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/gather.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/gather_perf
Compiling  sendrecv.cu                         > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/sendrecv.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/sendrecv.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/sendrecv_perf
Compiling  hypercube.cu                        > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/hypercube.o
Linking  /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/hypercube.o > /data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/build/hypercube_perf
make[1]: 离开目录“/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9/src”
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8
# nThread 1 nGpus 8 minBytes 8 maxBytes 134217728 step: 2(factor) warmup iters: 5 iters: 20 agg iters: 1 validation: 1 graph: 0
#
# Using devices
jettech-WS-C621E-SAGE-Series: Test CUDA failure common.cu:894 'invalid device ordinal'.. jettech-WS-C621E-SAGE-Series pid 24945: Test failure common.cu:844
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# ls build/all_reduce_perf ^C
(py10_paddlepaddle2.6_paddleocr2.8_cuda12_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env/nccl/nccl-tests-2.13.9# ./build/all_reduce_perf -b 8 -e 256M -f 2 -g4
# nThread 1 nGpus 4 minBytes 8 maxBytes 268435456 step: 2(factor) warmup iters: 5 iters: 20 agg iters: 1 validation: 1 graph: 0
#
# Using devices
#  Rank  0 Group  0 Pid  25570 on jettech-WS-C621E-SAGE-Series device  0 [0x3b] NVIDIA GeForce RTX 2080
#  Rank  1 Group  0 Pid  25570 on jettech-WS-C621E-SAGE-Series device  1 [0x5e] NVIDIA GeForce RTX 2080
#  Rank  2 Group  0 Pid  25570 on jettech-WS-C621E-SAGE-Series device  2 [0x86] NVIDIA GeForce RTX 2080
#  Rank  3 Group  0 Pid  25570 on jettech-WS-C621E-SAGE-Series device  3 [0xaf] NVIDIA GeForce RTX 2080
#
#                                                              out-of-place                       in-place          
#       size         count      type   redop    root     time   algbw   busbw #wrong     time   algbw   busbw #wrong
#        (B)    (elements)                               (us)  (GB/s)  (GB/s)            (us)  (GB/s)  (GB/s)       8             2     float     sum      -1    15.71    0.00    0.00      0    15.63    0.00    0.00      016             4     float     sum      -1    17.28    0.00    0.00      0    15.91    0.00    0.00      032             8     float     sum      -1    17.18    0.00    0.00      0    16.18    0.00    0.00      064            16     float     sum      -1    17.14    0.00    0.01      0    15.87    0.00    0.01      0128            32     float     sum      -1    17.09    0.01    0.01      0    16.30    0.01    0.01      0256            64     float     sum      -1    17.23    0.01    0.02      0    15.90    0.02    0.02      0512           128     float     sum      -1    17.28    0.03    0.04      0    16.38    0.03    0.05      01024           256     float     sum      -1    17.13    0.06    0.09      0    15.81    0.06    0.10      02048           512     float     sum      -1    17.63    0.12    0.17      0    15.80    0.13    0.19      04096          1024     float     sum      -1    17.22    0.24    0.36      0    15.99    0.26    0.38      08192          2048     float     sum      -1    16.61    0.49    0.74      0    16.11    0.51    0.76      016384          4096     float     sum      -1    18.69    0.88    1.31      0    18.36    0.89    1.34      032768          8192     float     sum      -1    23.44    1.40    2.10      0    23.02    1.42    2.14      065536         16384     float     sum      -1    34.72    1.89    2.83      0    34.55    1.90    2.85      0131072         32768     float     sum      -1    63.00    2.08    3.12      0    62.87    2.08    3.13      0262144         65536     float     sum      -1    93.22    2.81    4.22      0    93.98    2.79    4.18      0524288        131072     float     sum      -1    148.2    3.54    5.31      0    148.1    3.54    5.31      01048576        262144     float     sum      -1    294.1    3.57    5.35      0    289.8    3.62    5.43      02097152        524288     float     sum      -1    595.3    3.52    5.28      0    592.2    3.54    5.31      04194304       1048576     float     sum      -1   1319.9    3.18    4.77      0   1317.6    3.18    4.77      08388608       2097152     float     sum      -1   3014.5    2.78    4.17      0   3100.5    2.71    4.06      016777216       4194304     float     sum      -1   6966.1    2.41    3.61      0   7025.2    2.39    3.58      033554432       8388608     float     sum      -1    13814    2.43    3.64      0    13829    2.43    3.64      067108864      16777216     float     sum      -1    28272    2.37    3.56      0    28100    2.39    3.58      0134217728      33554432     float     sum      -1    55028    2.44    3.66      0    55975    2.40    3.60      0268435456      67108864     float     sum      -1   111871    2.40    3.60      0   111223    2.41    3.62      0
# Out of bounds values : 0 OK
# Avg bus bandwidth    : 2.23175 
#

5.安装anconda

首先下载Anaconda3
在[清华镜像]下载Linux版本的anaconda
清华镜像官网Anaconda下载

里选择的是Anaconda3-5.0.0-Linux-x86_64.sh

在用户文件夹下新建一个名为anaconda的文件夹,并将刚刚下载的文件放在此文件夹中,执行以下命令:

bash Anaconda3-5.0.0-Linux-x86_64.sh

需要都很多页协议,不断按回车键跳过。
出现询问时就输入yes
之后选择默认的安装目录,按回车确定。
出现询问是否初始化或配置环境变量就输入yes
安装完成。
创建虚拟环境

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env# conda create --name py10_paddleocr2.8_gpu_wubo python=3.10

6. 安装PaddlePaddle

这里参照官网进行安装即可:

(py10_paddleocr2.8_gpu_wubo) root@jettech-WS-C621E-SAGE-Series:/data/wubo/paddleocr/env# python -m pip install paddlepaddle-gpu==2.6.1.post120 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

最后进行验证。

使用 python 或 python3 进入python解释器,输入:

GPU版本

import paddle 
paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。同时会显示当前可以并行使用的GPU数量。

7.安装Pytorch

参照官网命令进行安装:

最后验证安装是否成功。

打开Python,输入以下命令:

import torch
print(torch.cuda.is_available())

8.安装paddleocr客户端 命令行模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/376241.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第230题二叉搜索树中第K小的元素

题目: 题解: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int search_num(struct TreeNode* root, int k, int *result, int num) {if(num k 1){retu…

计算机的错误计算(二十九)

摘要 (1)讨论近似值的错误数字个数。有时,遇到数字9或0, 不太好确认近似值的错误数字个数。(2)并进一步解释确认计算机的错误计算(二十八)中一个函数值的错误数字个数。 理论上,我…

Java数据结构-二叉树

树型结构 概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上叶朝下的。 树具有以下特点: 有一个特殊结点&…

javaweb个人主页设计(html+css+js)

目录 1 前言和要求 1.1 前言 1.2 设计要求 2 预览 2.1 主页页面 2.2 个人简介 2.3 个人爱好 2.4 个人成绩有代码,但是图片已省略,可以根据自己情况添加 2.5 收藏夹 3 代码实现 3.1 主页 3.2 个人简介 3.3 个人爱好 3.4 个人成绩&#xff…

CSS技巧专栏:一日一例 1.纯CSS实现 会讨好的热情按钮 特效

题外话: 从今天开始,我准备开设一个新的专栏,专门写 使用CSS实现各种酷炫按钮的方法,本专栏目前准备写40篇左右,大概会完成如下按钮效果: 今天,我来介绍第一个按钮的实现方法:会讨好的热情按钮。为什么我给它起这样的名字呢?你看它像不像一个不停摇尾巴的小黄?当你鼠…

SvANet:微小医学目标分割网络,增强早期疾病检测

SvANet:微小医学目标分割网络,增强早期疾病检测 提出背景前人工作医学对象分割微小医学对象分割注意力机制 SvANet 结构图SvANet 解法拆解解法逻辑链 论文:SvANet: A Scale-variant Attention-based Network for Small Medical Object Segmen…

中职网络安全B模块渗透测试server2003

通过本地PC中渗透测试平台Kali对服务器场景Windows进⾏系统服务及版本扫描渗透测 试,并将该操作显示结果中Telnet服务对应的端⼝号作为FLAG提交 使用nmap扫描发现目标靶机开放端口232疑似telnet直接进行连接测试成功 Flag:232 通过本地PC中渗透测试平台…

【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计

站长素材AI教程是站长之家旗下AI绘图教程平台 海量AI免费教程,每日更新干货内容 想要深入学习更多AI绘图教程,请访问站长素材AI教程网: AI教程_深度学习入门指南 - 站长素材 (chinaz.com) logo版权归各公司所有!本笔记仅供AIGC…

基于stm32+小程序开发智能家居门禁系统-硬件-软件实现

视频演示: 基于stm32智能家居门禁系统小程序开发项目 视频还有添加删除卡号,添加删除指纹,关闭继电器电源等没有演示。 代码Git: https://github.com/Abear6666/stm32lock 总体功能: 本门禁系统主要解锁功能分别为卡…

android13 设置左右分屏修改为单屏幕,应用分屏改为单屏

总纲 android13 rom 开发总纲说明 目录 1.前言 2.系统设置实现分析 3. 设置修改 4.编译与验证 5.猜测 6.彩蛋 1.前言 android13中,系统设置变成,左边是一级菜单,右侧是二级菜单, 这样跟我们以前android7/8/9的布局是不一样的,我们需要将它修改为一级菜单,点进去…

mysql 5.7.44 32位 zip安装

前言 因为研究别人代码,他使用了5.7的 32位 mysql ,同时最新的 8.4 64位 mysql 不能用官方lib连接。所以安装这个版本使用,期间有些坑,在这里记录一下。 下载路径 mysql官方路径:https://downloads.mysql.com/archi…

Unity如何查找两个transform最近的公共parent

查找两个子对象最近的父对象 一、问题背景二、解决方案思路核心算法代码 三、总结 一、问题背景 最近看到个关于Unity的问题:在Hierarchy面板中的游戏对象,给定两个子物体transform对象,如何查找这两个transform最近的公共父级parent。感觉挺…

从 ArcMap 迁移到 ArcGIS Pro

许多 ArcMap 用户正在因 ArcGIS Pro 所具有的现代 GIS 桌面工作流优势而向其迁移。 ArcGIS Pro 与其余 ArcGIS 平台紧密集成,使您可以更有效地共享和使用内容。 它还将 2D 和 3D 组合到一个应用程序中,使您可以在同一工程中使用多个地图和多个布局。 Arc…

Linux桌面溯源

X窗口系统(X Window System) Linux起源于X窗口系统(X Window System),亦即常说的X11,因其版本止于11之故。 X窗口系统(X Window System,也常称为X11或X)是一种以位图方式显示的软件窗口系统。…

保姆级教你如何在大学期间获得自己的一项个人软著(1)

注册与实名认证 1. 注册与实名认证 已注册和实名认证 or 直接使用组织账号 进行软著申请的,可以跳过这部分 1.1 注册 登录中国版权保护中心 中国版权登记业务平台 点击右上角的用户中心 点击立即注册 选择个人身份进行注册 返回登记页面中国版权登记业务平台…

【教程】Hexo 部署到 Github Page 后,自定义域名失效的问题

目录 前言&问题描述解决方案细节 前言&问题描述 近期给 Github Page 上托管的静态网站映射了自定义域名(aiproducthome.top),之后发现每次更新并部署 hexo 到 Github Page (hexo d)后就会出现自定义域名失效的…

FDL与Kettle功能对比分析之定时任务DDL

开发者在进行数据处理任务时, 一旦源数据库的表结构发生变化,而目标数据库没有及时进行同步,就会导致任务执行失败。DDL同步就是用来解决这一问题,它会自动识别源表结构变化,并及时更新到目标数据库中,保障…

使用 Python OpenCV 创建图像到卡通转换器

https://pyseek.com/2022/07/image-to-cartoon-converter-in-python/ 一、说明 你有没有试过把自己的照片转换成卡通画?顺便说一句,这不是开玩笑。很多人喜欢把他们的照片变成卡通画并在社交媒体上分享。就连我自己也多次尝试过这种技术。有很多在线工具…

全局代理的判断维度与实用分析

在这个数字化时代,全局代理成为了许多用户保护隐私、加速访问的必备工具。然而,面对市场上琳琅满目的代理服务,如何做出明智的选择?作为您的专业测评团队,我们深入探索了全局代理的多个判断维度,并精选了极…

隔离驱动-视频课笔记

目录 1、需要隔离的原因 1.2、四种常用的隔离方案 2、脉冲变压器隔离 2.1、脉冲变压器的工作原理 2.2、泄放电阻对开关电路的影响 2.3、本课小结 3、光耦隔离驱动 3.1、光耦隔离驱动原理 3.2、光耦隔离驱动的电源进行分析 3.3、本课小结 4、自举升压驱动 4.1…