Linux系统安装PaddleDetection
一、安装cuda
1. 查看设备
先输入nvidia-smi,查看设备支持的最大cuda版本,选择官网中支持的cuda版本
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/linux-conda.html
2. 下载CUDA并安装
使用快捷键Ctrl+Alt+t打开终端,先输入nvcc -V,查看cuda版本
CUDA下载地址:http:// https://developer.nvidia.com/cuda-toolkit-archive
在终端输入cat /proc/version查看设备ubuntu版本号
根据设备版本选择合适的cuda版本
选择后根据下方Installation Instructions的内容在终端输入这两行内容
第一条语句进行下载
第二条语句进行安装,选择Continue
输入accept,按回车键
在这之前可以在终端输入nvcc -V,查看cuda版本。如果没有其他版本,这步中则直接选择“Install”进行安装,如果安装了其他版本,则在Driver处按回车键,把“Driver”勾选去掉,再进行安装。
若已有安装过的版本,出现如下界面,选择yes
安装成功界面如下
3. 环境配置
终端输入vim ~/.bashrc ,出现如下界面后按回车键,进入配置
按一次回车键,按字母i进入编辑,输入如图三条语句,然后按Esc健进入最后一行,输入:wq按回车键退出。终端输入source ~/.bashrc 使之生效
终端输入nvcc -V测试是否安装成功,安装成功后会出现如下信息
二、下载cudnn并安装
根据飞浆官网中下方要求的cuda和cudnn对应版本下载相应的cudnnhttps://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/linux-conda.html
CUDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archive
进入后需要账号密码,未注册的需要注册一个nvidia账号,登录后会出现所有版本的信息。
根据你前边下载的cuda版本,选择对应的cudnn版本,若没有具体的cudnn版本,例如cuda11.7,则选择cuda11.x
点击后,下方选择适合的设备版本
下载后会找到该压缩包,在终端进入该文件夹所存位置通过该命令解压缩
tar xf cudnn-linux-x86_64-8.9.3.28_cuda11-archive.tar.xz
解压后形成该文件夹,将该文件夹放在和cuda同一目录中,可将该文件夹改名为cudnn18,方便后续输入命令以及查找
改名后输入如下命令,将cudnn中内容复制到cuda中
sudo cp cudnn-11.7/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-11.7/lib/libcudnn* /usr/local/cuda/lib64
修改权限:
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
通过以下命令查看CUDNN信息并测试是否成功:
cat /usr/local/cuda/include/cudnn_version.h
成功界面如下:
三、安装PaddlePaddle
终端输入vim ~/.condarc
按字母i键进入编辑环境,更改为如下语句,然后按Esc键并输入:wq保存退出
(1)在github官网上进行下载:PaddleDetection,下载后在pycharm中打开该项目
(2)在pycharm终端输入conda create -n paddle_env python=3.9,创建Anaconda虚拟环境。创建虚拟环境首先根据Python的具体版本创建Anaconda虚拟环境。PaddlePaddle的Anaconda安装支持Python 3.7 - 3.11版本。
(3)在pycharm环境中找到设置,并选择该项目的配置,打开python interpreter。选择show all,点击+号,选择Add Local Interpreter...,选择Conda Environment,选择Use existing environment,在第三个步骤中选择刚创建的paddle_env环境,然后一路按OK键,配置好环境
(4)接着输入conda activate paddle_env进入Anaconda虚拟环境
输入python -V查看是否搭建成功python环境
确认 Python 和 pip 是 64bit,并且处理器架构是 x86_64(或称作 x64、Intel 64、AMD64)架构。下面的第一行输出的是”64bit”,第二行输出的是”x86_64(或 x64、AMD64)”即可:
python3 -c "import platform;print(platform.architecture()[0]);print(platform.machine()"
输入nvcc -V查看在终端安装的cuda版本是否正确
(5)NCCL安装
到官网中下载符合的版本:https://developer.nvidia.com/login
终端进入到刚下文件的路径中,输入如下命令
sudo dpkg -i nccl-repo-<version>.deb 例如:
sudo dpkg -i nccl-local-repo-ubuntu2204-2.14.3-cuda11.7_1.0-1_amd64.deb
更新APT数据库,输入如下命令sudo apt update
安装APT的libnccl2包,输入如下命令sudo apt install libnccl2 libnccl-dev
终端输入vim ~/.bashrc,出现如下界面按回车键
出现如下界面,按字母i键,进入编辑,添加如下语句,按Esc键,输入:wq!保存退出,退出后输入source ~/.bashrc使文件的配置生效
到paddledetection官网中查看符合cuda以及cudnn版本的paddlepaddle下载命令
https://www.paddlepaddle.org.cn/en/install/quick?docurl=/documentation/docs/zh/install/conda/linux-conda_en.html
pycharm环境终端输入conda install paddlepaddle-gpu==2.5.1 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
有选择的地方输入y,安装成功界面如下
输入如下命令python3;import paddle;paddle.utils.run_check()若出现PaddlePaddle is installed successfully!则paddlepaddle安装成功
四、安装paddledetection
进入到paddledetection环境中,配置各种包,输入pip install -r requirements.txt
配置好后的结果如下
编译安装paddledet,输入语句python setup.py install
测试环境:
安装后确认测试通过:
python ppdet/modeling/tests/test_architectures.py
测试通过后会提示如下信息:
相关文章:

Linux系统安装PaddleDetection
一、安装cuda 1. 查看设备 先输入nvidia-smi,查看设备支持的最大cuda版本,选择官网中支持的cuda版本 https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/conda/linux-conda.html 2. 下载CUDA并安装 使用快捷键…...
【漫话机器学习系列】239.训练错误率(Training Error Rate)
机器学习基础概念 | 训练错误率(Training Error Rate)详解 在机器学习模型训练过程中,评估模型性能是至关重要的一个环节。其中,训练错误率(Training Error Rate) 是最基础也最重要的性能指标之一。 本文将…...
Vue3路由模式为history,使用nginx部署上线是空白的问题
一、问题 将vue使用打包后 npm run build将dist文件的内容,放入nginx的html中,并在nginx.conf中,设置端口 启动nginx,打开发现网页内容为空白 二、解决问题 1.配置vue-route const router createRouter({history: createWe…...
Python 数据智能实战 (13):AI的安全可靠 - 电商数据智能的红线与指南
写在前面 —— 技术向善,行稳致远:在智能时代,坚守数据伦理,构建可信赖的 AI 应用 通过前面的篇章,我们已经深入探索了如何利用 Python 和大语言模型 (LLM) 挖掘电商数据的巨大潜力,从智能用户分群到语义推荐,再到个性化内容生成和模型效果评估。我们手中的工具越来越…...

OpenCV 图形API(80)图像与通道拼接函数-----仿射变换函数warpAffine()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 对图像应用仿射变换。 函数 warpAffine 使用指定的矩阵对源图像进行变换: dst ( x , y ) src ( M 11 x M 12 y M 13 , M 21 x M…...

数据结构与算法:图论——最短路径
最短路径 先给出一些leetcode算法题,以后遇见了相关题目再往上增加 最短路径的4个常用算法是Floyd、Bellman-Ford、SPFA、Dijkstra。不同应用场景下,应有选择地使用它们: 图的规模小,用Floyd。若边的权值有负数,需要…...

提示词工程:通向AGI时代的人机交互艺术
引言:从基础到精通的提示词学习之旅 欢迎来到 "AGI时代核心技能" 系列课程的第二模块——提示词工程。在这个模块中,我们将系统性地探索如何通过精心设计的提示词,释放大型语言模型的全部潜力,实现高效、精…...
FreeRTOS系统CPU使用率统计
操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。 基本原理 操作系统会统计系统总共运行了多少时间,以及在此期间每个任…...

是更换Window资源管理器的时候了-> Files-community/Files
Files • 主页https://files.community/ 它已经做到了 云盘文件集成、标签页和多种布局、丰富的文件预览…… 您想要的一切现代文件管理器的强大功能, Files 都能做到。 概述 Files 是一个现代文件管理器,可帮助用户组织他们的文件和文件夹。Files 的…...

基于windows安装MySQL8.0.40
基于windows安装MySQL8.0.40 基于windows 安装 MySQL8.0.40,解压文件到D:\mysql-8.0.40-winx64 在D:\mysql-8.0.40-winx64目录下创建my.ini文件,并更新一下内容 [client] #客户端设置,即客户端默认的连接参数 # 设置mysql客户端连接服务…...

【Vue】组件自定义事件 TodoList 自定义事件数据传输
目录 一、绑定 二、解绑 组件自定义事件总结 TodoList案例对数据传输事件的修改 总结不易~ 本章节对我有很大收获, 希望对你也是!!! 本章节素材已上传Gitee:yihaohhh/我爱Vue - Gitee.com 前面我们学习的clikc、…...

基于Centos7的DHCP服务器搭建
一、准备实验环境: 克隆两台虚拟机 一台作服务器:DHCP Server 一台作客户端:DHCP Clinet 二、部署服务器 在网络模式为NAT下使用yum下载DHCP 需要管理员用户权限才能下载,下载好后关闭客户端,改NAT模式为仅主机模式…...

LabVIEW超声波液位计检定
在工业生产、运输和存储等环节,液位计的应用十分广泛,其中超声波液位计作为非接触式液位测量设备备受青睐。然而,传统立式水槽式液位计检定装置存在受建筑高度影响、量程范围受限、流程耗时长等问题,无法满足大量程超声波液位计的…...
Ubuntu 24.04 完整Docker安装指南:从零配置到实战命令大全
文章目录 1. 安装 Docker2. 配置 Docker 镜像加速器2.1 配置 Docker 镜像源2.2 重启 Docker 服务 3. Docker 常用命令3.1 Docker 常用命令速查表3.1.1 容器管理3.1.2 镜像管理3.1.3 网络管理3.1.4 数据卷管理3.1.5 容器资源管理3.1.6 Docker Compose(容器编排&#…...

[STM32] 4-2 USART与串口通信(2)
文章目录 前言4-2 USART与串口通信(2)数据发送过程双缓冲与连续发送数据发送过程中的问题 数据接收过程TXE标志位(发送数据寄存器空)TC标志位(发送完成标志位)单个数据的发送数据的连续发送 接收过程中遇到的问题问题描述…...

基于Python+MongoDB猫眼电影 Top100 数据爬取与存储
前言:从猫眼电影排行榜页面(TOP100榜 - 猫眼电影 - 一网打尽好电影 )爬取 Top100 电影的电影名称、图片地址、主演、上映时间和评分等关键信息,并将这些信息存储到本地 MongoDB 数据库中,🔗 相关链接Xpath&…...
前端缓存踩坑指南:如何优雅地解决浏览器缓存问题?
浏览器缓存,配置得当,它能让页面飞起来;配置错了,一次小小的上线,就能把你扔进线上 bug 的坑里。你可能遇到过这些情况: 部署上线了,结果用户还在加载旧的 JS;接口数据改了…...

Ubuntu 单机多卡部署脚本: vLLM + DeepSeek 70B
# 部署脚本:Ubuntu vLLM DeepSeek 70B # 执行前请确保:1. 系统为 Ubuntu 20.04/22.04 2. 拥有NVIDIA显卡(显存≥24G) # 保存两个文件 1 init.sh 初始化 2、test.sh 测试 # init.sh #!/bin/bash # 系统更新与基础依赖sudo apt update && s…...
从软件到硬件:三大主流架构的特点与优劣详解
常见的架构包括软件架构、企业架构、硬件架构等,以下是对这几种常见架构的分析: 一、软件架构 1.分层架构 描述:分层架构是一种经典的软件架构模式,将软件系统按照功能划分为不同的层次,一般包括表现层(…...
STM32printf重定向到串口含armcc和gcc两种方案
STM32串口重定向:MDK与GCC环境下需重写的函数差异 在嵌入式开发中,尤其是使用 STM32系列微控制器 的项目中,调试信息的输出是不可或缺的一部分。为了方便调试,开发者通常会选择将 printf 等标准输出函数通过 UART 串口发送到 PC …...

为了摸鱼和吃瓜,我开发了一个网站
平时上班真的比较累,摸鱼和吃瓜还要跳转多个平台的话,就累上加累了。 所以做了一个聚合了全网主流平台热搜的网站。 目前市面上确实有很多这种网站了,所以目前最主要有两点和他们不同: 给热搜列表增加了配图,刷的时候…...

Webug4.0靶场通关笔记11- 第15关任意文件下载与第16关MySQL配置文件下载
目录 一、文件下载 二、第15关 任意文件下载 1.打开靶场 2.源码分析 3.渗透实战 三、第16关 MySQL配置文件下载 1.打开靶场 2.源码分析 3.渗透实战 (1)Windows系统 (2)Linux系统 四、渗透防御 一、文件下载 本文通过…...
【中间件】brpc_基础_remote_task_queue
文章目录 remote task queue1 简介2 核心功能2.1 任务提交与分发2.2 无锁或低锁设计2.3 与 bthread 深度集成2.4 流量控制与背压 3 关键实现机制3.1 数据结构3.2 任务提交接口3.3 任务窃取(Work Stealing)3.4 同步与唤醒 4 性能优化5 典型应用场景6 代码…...
maven坐标导入jar包时剔除不需要的内容
maven坐标导入jar包时剔除不需要的内容 问题描述解决方案 问题描述 maven坐标导入jar包时剔除不需要的内容 解决方案 Spring Boot 默认使用 Logback,需在 pom.xml 中排除其依赖: <dependency><groupId>org.springframework.boot</gro…...

k8s监控方案实践(一):部署Prometheus与Node Exporter
k8s监控方案实践(一):部署Prometheus与Node Exporter 文章目录 k8s监控方案实践(一):部署Prometheus与Node Exporter一、Prometheus简介二、PrometheusNode Exporter实战部署1. 创建Namespace(p…...
ValueError: Could not find common ancestor of[]
ValueError: Could not find common ancestor of [0004_deadstockstathistorymodel, 0026_remove_orderdetailmodel_order_no]说明 Django 当前在 尝试生成迁移或者执行迁移 时,发现你的迁移历史“断裂”了: 你这个 App 的迁移历史有两个分支,…...

具身系列——比较3种vpg算法方式玩CartPole游戏(强化学习)
文档1方式参考:https://gitee.com/chencib/ailib/blob/master/rl/vpg_baseline_cartpole.py 文档2方式参考:https://gitee.com/chencib/ailib/blob/master/rl/vpg_batchupdate_cartpole.py 文档3方式参考:https://gitee.com/chencib/ailib/bl…...

面向未来的 TCP 协议设计:可扩展与兼容并存
目录 1.设计思路 (1)完整数据结构(字节布局) 1)字段解释: 2)Flags字段设计(1字节位图) (2)进阶版 Java 解码器实现(示例…...
PyTorch_自动微分模块
自动微分 (Autograd) 模块对张量做了进一步的封装,具有自动求导功能。自动微分模块是构成神经网络训练的必要模块,在神经网络的反向传播过程中,Autograd 模块基于正向计算的结果对当前的参数进行微分计算,从而实现网络权重参数的更…...
【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit
文章目录 1. 查看未推送的提交方法一 :git status方法二:git log方法三:git cherry方法四:git rev-list 2. 查看指定commit的修改方法一:git show方法二:git log方法三:git diff 3. 合并不连续的…...