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

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

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

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

    相关文章

    Linux系统中的时间同步服务

    1.时间同步&#xff1a;多主机协作工作&#xff0c;时间应该保持一致&#xff0c;如加密协议、日志、集群等&#xff0c;利用NTP&#xff08;Network Time Protocol&#xff09;协议使得各个主机时间达到同步。 ntp:将系统时钟和世界协调时UTC同步&#xff0c;精度在局域网内可…

    【Linux笔记】系统的延迟任务、定时任务极其相关命令(at、crontab极其黑白名单等)

    一、延时任务 1、概念 延时任务&#xff08;Delayed Jobs&#xff09;通常指在指定时间或特定条件满足后执行的任务。常见的实现方式包括 at 和 batch 命令&#xff0c;以及结合 cron 的调度功能。 2、命令 延时任务的命令最常用的是at命令&#xff0c;第二大节会详细介绍。…

    软考 系统架构设计师系列知识点 —— 黑盒测试与白盒测试(1)

    本文内容参考&#xff1a; 黑盒测试和白盒测试详解-CSDN博客 软件测试中的各种覆盖&#xff08;Coverage&#xff09;详解-CSDN博客 特此致谢&#xff01; 零、概述 黑盒测试又名为功能测试&#xff0c;主要目的是发现软件设计的需求或者是软件设计规格说明书中的错误缺陷。…

    yolov11 epoch100轮 训练笔记5 kaggle comet

    Football Players Detection using YOLOV11 | Kaggle !pip install comet_ml import comet_mlcomet_ml.login(project_name"c") Comet - Build Better Models Faster yolov11训练 100轮一眨眼训练完了 然而comet接不到yolo的sdk 优秀 训练17轮map就0.99了 v5训练100…

    Ubuntu K8S(1.28.2) 节点/etc/kubernetes/manifests 不存在

    Ubuntu K8S(1.28.2) 节点/etc/kubernetes/manifests 不存在 在查看日志&#xff08;journalctl -xefu kubelet&#xff09;时发现各节点/etc/kubernetes/manifests 不存在&#xff0c;但主节点没有异常 21080 file.go:104] "Unable to read config path" err"…

    neo4j基础操作:命令行增删改查

    目录 一&#xff0c;Neo4j的增 1.1.新增节点 1.2.新增关系 1.2.1创建节点时&#xff0c;创建关系 1.2.2在已有的节点上&#xff0c;创建关系 二&#xff0c;Neo4j的删除 2.1删除节点 2.1.1无关系的节点删除 2.1.2 有关系的节点删除 三&#xff0c;节点修改 3.1 给节点…

    rollout 是什么:机器学习(强化学习)领域

    rollout 是什么:机器学习(强化学习)领域 指从特定初始状态开始,按照某个策略或模型进行一系列动作和状态转移,直到达到终止状态或预定时间步数 。比如: 迷宫任务:强化学习代理在迷宫中,从起始点出发,按某策略(如随机选方向走)进行移动,直到找到出口或达到最大移动…

    stm32之TIM定时中断详解

    目录 1.引入1.1 简介1.2 类型1.2.1 基本定时器1.2.2 通用定时器1. 触发控制单元 (Trigger Control Unit)2. 输入捕获单元 (Input Capture Unit)3. 输出比较单元 (Output Compare Unit)4. CNT 计数器5. 自动重装载寄存器 (ARR)6. 预分频器 (PSC)7. 中断与 DMA 事件8. 刹车功能 (…

    centos8源码安装openssl

    前言&#xff1a; 在使用python3.11部署运行FastAPI时&#xff0c;由于其uvicorn需要使用openssl模块&#xff0c;导致没有安装openssl的服务器项目运行不起来. 【第一步】 我的网盘下载openssl-1.1.1n.tar.gz 提取码: vay9 【第二步】 上传到服务器解压 tar -zxvf opens…

    vue3 动态修改系统title

    vue3 动态修改系统title 修改前 修改后 1、封装 useTitle 工具函数 创建组合式 API&#xff0c;通过 watchEffect 监听标题变化&#xff1a; // composables/useTitle.js import { ref, watchEffect } from vue;export function useTitle(initialTitle) {const title r…

    比较两种判断相同二叉树的方法:递归与遍历序列对比

    在二叉树操作中&#xff0c;判断两棵树是否相同是一个常见的问题。本文将对比两种不同的解决方案&#xff1a;递归法和遍历序列对比法&#xff0c;分析它们的优缺点&#xff0c;并探讨为何递归法是更优的选择。 问题描述 给定两棵二叉树的根节点 p 和 q&#xff0c;判断它们是…

    从0开始学习大模型--Day01--大模型是什么

    初识大模型 在平时遇到问题时&#xff0c;我们总是习惯性地去运用各种搜索引擎如百度、知乎、CSDN等平台去搜索答案&#xff0c;但由于搜索到的内容质量参差不齐&#xff0c;检索到的内容只是单纯地根据关键字给出内容&#xff0c;往往看了几个网页都找不到答案&#xff1b;而…

    【AI大模型】SpringBoot整合Spring AI 核心组件使用详解

    目录 一、前言 二、Spring AI介绍 2.1 Spring AI介绍 2.2 Spring AI主要特点 2.3 Spring AI核心组件 2.4 Spring AI应用场景 2.5 Spring AI优势 2.5.1 与 Spring 生态无缝集成 2.5.2 模块化设计 2.5.3 简化 AI 集成 2.5.4 支持云原生和分布式计算 2.5.5 安全性保障…

    洛谷 P9007 [入门赛 #9] 最澄澈的空与海 (Hard Version)

    这道题可不入门。 [Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 给定 n n n&#xff0c;求有多少组 ( x , y , z ) (x,y,z) (x,y,z) 满足&#xff1a; x − y z n ! x-\dfrac{y}{z}n! x−zy​n! x − y z n ! n \dfrac{x-y…

    PostgreSQL 的 pg_stat_file 函数

    PostgreSQL 的 pg_stat_file 函数 pg_stat_file 是 PostgreSQL 提供的一个系统管理函数&#xff0c;用于获取文件系统上文件的元数据信息。这个函数对于数据库管理员进行文件级别的监控和诊断非常有用。 一 函数基本语法 pg_stat_file(filename text [, missing_ok boolean …

    关于麒麟服务器实现docker-compose服务开机自启

    我本地服务器环境是麒麟V10版本&#xff1a; 首先确定docker-compose服务绝对路径命令&#xff1a; which docker-compose我这里输出是&#xff1a;/usr/bin/docker-compose 编辑服务文件&#xff1a; sudo vim /etc/systemd/system/docker-compose-webup.service[Unit] Desc…

    基于 jQuery 实现复选框全选与选中项查询功能

    在 Web 开发中&#xff0c;复选框是常见的交互元素&#xff0c;尤其是在涉及批量操作、数据筛选等场景时&#xff0c;全选功能和选中项查询功能显得尤为重要。本文将介绍如何使用 HTML、CSS 和 jQuery 实现一个具备全选、反选以及选中项查询功能的复选框组&#xff0c;帮助开发…

    AfuseKt2.4.2 | 支持阿里云盘、Alist等平台视频播放,具备自动海报墙刮削功能的强大播放器

    AfuseKt是一款功能强大的安卓端在线视频播放器&#xff0c;支持播放阿里云盘、Alist、WebDAV等平台的视频内容。它具备自动海报墙刮削功能&#xff0c;能自动生成影片信息和海报墙&#xff0c;提供良好的视觉体验。此外&#xff0c;它还支持倍速播放、字幕、音轨切换等多种实用…

    Netlink在SONiC中的应用

    Netlink在SONiC中的应用 Netlink介绍 Netlink 是 Linux 内核态程序与用户空间程序之间进行通信的机制之一&#xff0c;原本是用于传递网络协议栈中的各种控制消息。它采用和套接字&#xff08;socket&#xff09;编程接口相同的形式&#xff0c;常用于配置内核网络子系统&…

    语音合成之十一 提升TTS语音合成效果:低质量数据清洗、增强与数据扩增

    低质量数据清洗、增强与数据扩增 1. 引言&#xff1a;TTS的基石——数据质量2. 基础&#xff1a;TTS数据准备工作流2.1 规划&#xff1a;定义蓝图2.2 执行&#xff1a;从原始数据到训练就绪格式2.3 最佳实践与可复现性 3. 攻克缺陷&#xff1a;低质量语音数据的清洗与增强3.2 手…