手把手教你安装PaddleDetection(最新CUDA11.7版本)

news2025/1/9 0:31:10

前言

本文记录一下在linux系安装PaddleDetection的过程,使用Conda的方式来安装;

(尝试过docker的方式,无法获取镜像;尝试过pip的方式,提升找不到库;最终使用Conda成功安装了。)

目录

前言

一、设置国内源加速Conda

二、创建Conda环境

三、安装PaddlePaddle

四、安装PaddleDetection


一、设置国内源加速Conda

在Linux系统中,通过修改condarc文件,进行配置conda的源

vim ~/.condarc

 改为如下所示:

show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

二、创建Conda环境

创建一个Conda环境,名称为PaddleDetection,指定python的版本为3.8

conda create -n PaddleDetection python=3.8

进入环境

conda activate PaddleDetection

三、安装PaddlePaddle

首先来到官网,选择合适的CUDA版本,我选择了最新的CUDA11.7

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/linux-conda.html

 根据上图的安装信息(命令),进行安装;

conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

然后配置环境变量(不配置的,在使用时会出现如下错误)

dynamic_loader.cc:307] The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly. (error code is /usr/local/cuda/lib64/libcudnn.so: cannot open shared object file: No such file or directory)

用conda env list,查询环境的路径

(PaddleDetection) root@bap3ac2457:/guopu # conda env list

# conda environments:
#
base                     /opt/conda
PaddleDetection       *  /opt/conda/envs/PaddleDetection

能看到刚创建的Conda的路径为 /opt/conda/envs/PaddleDetection

添加/opt/conda/envs/PaddleDetection/lib/到环境变量中.bashrc

echo "export LD_LIBRARY_PATH=/opt/conda/envs/PaddleDetection/lib/">>~/.bashrc

测试是否安装成功

# 确认PaddlePaddle安装成功
python -c "import paddle; paddle.utils.run_check()"

# 确认PaddlePaddle版本
python -c "import paddle; print(paddle.__version__)"

看到成功打印信息

(PaddleDetection) root@bap3ac2457:/guopu# python -c "import paddle; paddle.utils.run_check()"
Running verify PaddlePaddle program ... 
W0508 08:48:03.937019 44515 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 11.8, Runtime API Version: 11.7
W0508 08:48:03.950474 44515 gpu_resources.cc:91] device: 0, cuDNN Version: 8.4.
PaddlePaddle works well on 1 GPU.
PaddlePaddle works well on 1 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

(PaddleDetection) root@bap3ac2457:/guopu# 

四、安装PaddleDetection

首先下载PaddleDetection代码

git clone https://github.com/PaddlePaddle/PaddleDetection.git

进入工程目录

cd PaddleDetection

使用pip安装依赖,可以使用 -i https://pypi.tuna.tsinghua.edu.cn/simple 加速安装

pip install -r requirements.txt

如果安装pycocotools报错了,参考https://blog.csdn.net/weixin_57096837/article/details/122775990

编译安装paddledet

python setup.py install

如果出现下载一些库错误,比如pyclipper,那么手动安装:pip install pyperclip,再执行python setup.py install

如果出现error: protobuf 3.20.0 is installed but protobuf>=3.20.2 is required by {'onnx'},执行:pip install protobuf==3.20.3

测试环境

安装后确认测试通过:

python ppdet/modeling/tests/test_architectures.py

测试通过后会提示如下信息:

(PaddleDetection) root@bap3ac2457:/guopu/PaddleDetection# python ppdet/modeling/tests/test_architectures.py
Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): `pip install numba==0.56.4`
Warning: Unable to use numba in PP-Tracking, please install numba, for example(python3.7): `pip install numba==0.56.4`
W0510 00:52:22.579213 47617 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 11.8, Runtime API Version: 11.7
W0510 00:52:22.590267 47617 gpu_resources.cc:91] device: 0, cuDNN Version: 8.4.
.......
----------------------------------------------------------------------
Ran 7 tests in 3.731s

OK
(PaddleDetection) root@bap3ac2457:/guopu/PaddleDetection# 

如果打印以上信息,说明安装完成啦~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是中国版软件能力成熟度之CSMM

当前,中国软件产业蓬勃发展,产业增速迅猛,发展韧性和潜力进一步凸显。由于我国长期缺乏相关的自主标准,20多年来国外标准在我国软件评估领域占据主导地位,不仅阻碍了我国自主产业发展,甚至通过评估等手段可…

【STM32CubeMX项目】小时钟V1.0

前言 基于STM32CubeMxSTM32F103C6T6编写时钟功能。现在以及能实现时钟的简单功能,做文记录下。还有很多可以改进的地方,也算留下的基础版本下来备份吧。我愿称之为V1.0版本。可供学习参考。 实物 引脚接线: OLED STM32F103 SCL --> PB8 SD…

使用JS手动实现SementicUI的分页,解决页数过多的问题.

自己使用SemanticUI官网的分页组件, 但是有很多细节问题并没有解决方案,如果只是需要而分页,将页数渲染在分页组件上的话,那倒很简单,但是页面有很多的话,假如100页,那么整个tbody会随着tfoot…

C# PDF附件生成

最近项目上需要生成行业某证件,查阅了一下,大体有两个思路可以实现 1.图片格式 2.PDF格式 使用图片格式,GDI绘图的形式,GDI绘图相关库资料比较多,难度也还好,问题是生成的证不是很好看,看上去…

ESP32学习笔记 -- ESP32-S3使用自定义分区表

什么是分区表? 分区表(Partition Table),主要是用来对ESP32-S3外挂的SPI FLASH进行区域划分的一个表格,通过这个表格,可以根据多个不同的功能,将SPI FLASH划分为不同的区域,方便开发者存储数据。 分区表主要有两种格式,一种是方便开发人员进行更改的.csv格式,一种是…

【Spring框架全系列】初识Spring MVC(上)

🌃哈喽,大家好,我是小浪。接着上篇博客,我们学习了springboot配置日志文件,到此,那么springboot的内容也更新的差不多了,由于是初学阶段,所以不学习那么深入,那么我们学习…

数据结构:单链表增、删、查、改的实现

1.概念 链表是一种 物理存储结构上非连续 、非顺序的存储结构,数据元素的 逻辑顺序 是通过链表 中的 指针链接 次序实现的 。 2.形式 我们使用链表一般都是创建一个结构体。 typedef int SLTDataType; typedef struct SListNode {SLTDataType data;struct SListN…

USB2.0 HUB的MTT与STT

HUB:集线器 以前呀,我也不清楚MTT与STT的区别,记得有一次选型的时候,很懵逼,结果还是按照以前同事的方案去选了,到后面想起来才抽空整明白了。 所以今天就来说下USB HUB里面的MTT与STT,并在文…

【GO】31. websocket实现

一. 引入gin、gorilla websocket包 go get github.com/gin-gonic/gin go get github.com/gorilla/websocket 二. 服务端代码 package mainimport ("bytes""fmt""github.com/gin-gonic/gin""github.com/gorilla/websocket""log&…

从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过。

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 固然,编写一份好的测试用例需要:充分的需求分析能力 理论及经验加持,作为测试职场摸爬打滚的老人&…

RobotStudio教程:ABB机器人TCP路径轨迹跟踪功能介绍与使用方法

目录 功能介绍 机器人工作站创建 TCP路径轨迹全局跟踪 基于事件管理器的TCP路径轨迹局部跟踪 基于Smart组件的TCP路径轨迹局部跟踪 仿真运行 功能介绍 干涉检查是虚拟仿真工作中非常重要的一个步骤,尤其是机器人工具与工件、工装夹具之间的碰撞干涉&#xff…

Java高阶数据结构 图的最短路径问题

图的最短路径问题! 文章目录 Java高阶数据结构 & 图的最短路径问题1. Dijkstra算法【单源最短路径】1.1 Dijkstra算法证明1.2 Dijkstra算法代码实现1.3 堆优化的Dijkstra算法1.4 堆优化Dijkstra算法代码实现 2. Bellman-Ford算法【单源最短路径】2.1 BF算法证明…

常见的基础模块电路,你都能看懂吗?

文章开始前,先来考考大家~ 下面的五副电路图,你能看懂几个? 目录 01.电源电路 02.运算放大器电路 03.信号产生电路 04.信号处理电路 05.传感器及其应用电路 06.显示电路 TDA2030电路图 34063电路图 555电路 TDA2030电路图 三极管分立元…

音视频八股文(11)-- ffmpeg 音频重采样

1重采样 1.1 什么是重采样 所谓的重采样,就是改变⾳频的采样率、sample format、声道数等参数,使之按照我们期望的参数输出。 1.2 为什么要重采样 为什么要重采样?当然是原有的⾳频参数不满⾜我们的需求,⽐如在FFmpeg解码⾳频…

从头开始学习Python接口自动化测试:编写测试用例,执行测试以及生成测试报告

Python接口自动化测试详解 随着Web服务和移动应用不断增多,以及对API和微服务的需求不断增加,API已成为现代应用程序中必不可少的组件。自动化测试框架可以大大简化API测试的过程,并确保其正确性和稳定性。Python是一种非常流行的编程语言&a…

洛谷B2100 同行列对角线的格

同行列对角线的格 题目描述 输入三个自然数 N N N, i i i, j j j( 1 ≤ i ≤ n 1 \le i \le n 1≤i≤n, 1 ≤ j ≤ n 1 \le j \le n 1≤j≤n),输出在一个 N N N \times N NN 格的棋盘中(行…

西门子1200PLC如何在威纶通HMI上进行时间显示

先生成定时器DB,然后在引脚绑定变量,在西门子PLC中,DINT和TIME之间可以隐含转化。 第一种方法:触摸屏元件设置成DINT类型 数值元件资料格式为32-bit Signed,对应PLC中即为DINT类型。小数点以下没有位数。这是我们测试…

Android RecyclerView实现侧滑删除,附 Demo

距上次写博客有半年多了,回忆起来都觉得不可思议,中间也想憋俩大招,总是被耽误,这俩月忙完之后,终于空下来了,恰好新项目我和UI俩人商量一下,用MD来实现app。中间有个需求是RecyclerView中侧滑显…

ch06-Pytorch的正则化与归一化

ch06-Pytorch的正则化与归一化 0.引言1.weight decay 和 dropout1.1.Regularization1.2.Dropout 2.Normalization2.1.Batch Normalization2.2.Batch Normalization in PyTorch2.2.1.nn.BatchNorm1d()2.2.2.nn.BatchNorm2d()2.2.3.nn.BatchNorm3d() 2.3.其他常见的Normalization…

java servlet jsp 农产品价格信息搜集系统 python开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 jsp 农产品价格信息搜集系统 python是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助 系统采用 serlvetdaobean 模式开发 利用python 进行网站爬取 ,系统具有完整的源代码和数据库,系统主要采用B/S模式开…