从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇中)

news2025/7/19 4:34:25

yolov5运行环境搭建

本篇主要讲如何搭建yolov5运行环境,以及一些需要注意避坑的重要知识点。anaconda与显卡驱动先装后装是没有什么影响的,关键在于,不能将显卡驱动以及cuda装在虚拟环境中。这里介绍一下博主的电脑环境为i7九代+ubuntu18.04+ros-melodic+gtx1660ti显卡,渣渣神舟笔记本。当然各位配置是越高越好哈,渣本训练个模型

显卡驱动以及cuda安装

在博主之前发的文章中有提到显卡驱动的安装方法:gazebo版本升级以及环境太暗的解决方法,然而这样的方法其实也有一些问题,那就是使用

sudo ubuntu-drivers autoinstall 

自动下载命令下载的显卡驱动,是适配你显卡的最佳驱动,并不一定能够下载到你需要的驱动,最好的方式还是得手动安装。

避坑提醒!!!

一开始博主的显卡驱动为470对应安装的cuda版本为11.4,然而在使用gpu版pytorch基于yolov5训练模型时发现loss曲线呈一条直线,且无法训练模型,为解决该问题又跳了许多坑,网上也没有很好的解决方案,无奈博主只能重新安装显卡驱动以及cuda,卸载原先的cuda真的是一门技术活,给博主留下了难忘的回忆,希望各位能够及时避坑。

安装cuda10.2版本

为什么安装cuda10.2版本呢,因为该版本比较稳定且支持pytorch1.8,由显卡驱动与cuda版本对应表显卡驱动与cuda版本对应表中我们可以发现cuda10.2版本对应的显卡驱动为440且该驱动支持博主的gtx1660ti显卡。请添加图片描述
接下去就是在官网下载对应的驱动以及cuda了,打开官网cuda各版本下载库,选择并点击cuda10.2版本

请添加图片描述
进入安装链接,依次选择你自己电脑对应的环境,博主的选择如下
请添加图片描述
接着就出现了如下安装命令,依照如下命令安装即可。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

安装完成后,打开终端,输入nvcc -V

出现如下显示,则说明cuda10.2安装完毕。

请添加图片描述
接着输入nvidia-smi,你会发现对应的显卡驱动也装好了。

请添加图片描述
安装完成后,还需将如下代码写进.bashrc文件中,并source .bashrc文件

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

请添加图片描述

anaconda3环境配置

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学
计算、数据分析的 Python 包。安装anaconda是因为要将pytorch安装至conda环境中,因为ros-melodic默认使用的是python2.7,虽然可以将默认使用python改为3.6版本,但是这样一来,会对ros的正常使用造成影响,且conda可自由配置python环境,因此将pytorch安装在conda环境中是最为合理的方案。

其实anaconda安装配置这一块网上的教程不少,这块各位可以酌情参考。

安装anaconda

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学
计算、数据分析的 Python 包。

  1. 先去官方地址下载好对应的安装包(还有可去清华镜像站下载,具体可看参考文献部分)
    下载地址:https://www.anaconda.com/download/#linux
  2. 然后安装anaconda
bash ~/Downloads/Anaconda3-2021.05-Linux-x86_64.sh

anaconda会自动将环境变量添加到PATH里面,如果后面你发现输入conda提示没有该命令,那么
你需要执行命令 source ~/.bashrc 更新环境变量,就可以正常使用了。
如果发现这样还是没用,那么需要添加环境变量。
编辑~/.bashrc 文件,在最后面加上

export PATH=/home/bai/anaconda3/bin:$PATH

注意:路径应改为自己机器上的路径
保存退出后执行: source ~/.bashrc
再次输入 conda list 测试看看,应该没有问题。

添加anaconda国内镜像配置

清华TUNA提供了 Anaconda 仓库的镜像,运行以下三个命令:

conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

创建conda虚拟环境

这里我创建了一个python3.8的虚拟环境,用于安装pytorch1.8以及适配yolov5-6.1版本

创建虚拟环境
conda create -n 虚拟环境的名字 python=3.8(python版本自己决定)
创建完后激活环境
conda activate 之前设定的虚拟环境的名字
关闭环境
conda deactivate 之前设定的虚拟环境的名字

下面是一些用于conda环境的命令

激活虚拟环境
conda activate 虚拟环境的名字
退出激活环境
conda deactivate
删除环境
conda renove -n 虚拟环境的名字 --all
查看当前所有的虚拟环境
conda env list
查看虚拟环境中下载的包
conda list

pytorch1.8安装

进入pytorch官网查看安装对应自身cuda的pytorch版本,pytorch官网https://pytorch.org/get-started/previous-versions/,找到cuda10.2对应的pytorch1.8版本
请添加图片描述
打开终端,激活conda环境

conda activate 虚拟环境的名字
输入pytorch1,8.0安装命令
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch
安装完成后运行
python
import torch
print(torch.cuda.is_available())
若打印出True则说明安装成功

请添加图片描述

运行yolov5

首先进入github,找到yolov5-6.1分支,https://github.com/ultralytics/yolov5/tree/v6.1可以看到6.1版本的运行条件是:Clone repo and install requirements.txt in a Python>=3.7.0 environment, including PyTorch>=1.7.那目前的环境是正好符合的。

下载yolov5-6.1项目

git clone https://github.com/ultralytics/yolov5.git

或者也可以直接下载该分支的zip代码包

安装所需库

cd yolov5
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
注意:simple 不能少, 是 https 而不是 http,这里添加源用于提高下载速度

下载预训练权重文件

下载yolov5s.pt,yolov5m.pt,yolov5l.pt,yolov5x.pt权重文件,并放置在weights文件夹下,
https://github.com/ultralytics/yolov5/releases/tag/v6.1
进入上述网页找到assets栏下载权重。
请添加图片描述

安装测试

打开终端

cd yolov5
conda activate 虚拟环境的名字
python detect.py --source ./data/images/ --weights weights/yolov5s.pt

跑完测试会告知你测试结果保存的路径,这里路径为runs/detect/exp10
请添加图片描述
依据此路径查找到测试结果,如下图所示:
请添加图片描述
至此yolov5安装以及环境配置完毕。

小结

ros以及yolov5的环境已经配置完毕,各位可按照此教程进行配置,如有问题可在评论区提问。关于这块内容,博主也是踩过非常多的坑,也希望各位若遇到问题应当耐心将其解决。下一节,将对项目功能包进行介绍,并对代码开源。

参考资料

  1. Ubuntu18.04安装Anaconda(最新最全亲测图文并茂)
  2. yolov5-6.1,使用github镜像
  3. yolov5权重,使用github镜像
  4. gazebo版本升级以及环境太暗的解决方法

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

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

相关文章

移动办公时代,数智化平台如何赋能企业管理升级?

在传统的办公模式下,企业组织办公不仅时效低,周期长、成本高,且各办公系统相互独立。随着社会经济的发展,人们的工作生活变得多样化,对于办公的需求也越来越多,存在明显弊端的传统办公模式已不能满足企业对…

基于Mirai框架的Chatgpt_qq机器人搭建

参考项目:https://github.com/lss233/chatgpt-mirai-qq-bot by:雪月三十 采用docker方式搭建 方便快捷 不建议放在云服务器上 本地要有代理才行(也可以自行配置代理) 以下操作均是在有代理的情况下进行的 克隆项目 git clone ht…

狐狸优化算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

K8S篇-搭建kubenetes集群

安装环境 这里使用pve虚拟机搭建三台centos机器,搭建过程参考: Centos篇-Centos Minimal安装 此次安装硬件配置 CPU:2C 内存:2G 存储:64G 环境说明 操作系统:Centos 7.9 内核版本:6.2.0-1.el7.elrepo…

4面美团软件测试工程师,却忽略了这一点,直接让我前功尽弃

说一下我面试别人时候的思路 反过来理解,就是面试时候应该注意哪些东西;用加粗部分标注了 一般面试分为这么几个部分: 一、自我介绍 这部分一般人喜欢讲很多,其实没必要。大约5分钟内说清楚自己的职业经历,自己的核…

论坛项目小程序和h5登录

项目中安装uview出现npm安装uview 直接报错:创建一个package.json配置文件在进行安装。cmd到项目。初始化一个package.json文件(vue项目的配置文件) npm init --yes 安装uview项目点击关注进入管页面,需要验证用户是否登录查用户是…

Python编程自动化办公案例(3)

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.前几章代码 1.获取到第一题的选项单元格 2.实现批量获取文件 二. 批…

Linux——UDP协议与相关套接字编程

一.概念在网络通信中,传输层中最常用的通信协议有两个:TCP协议与UDP协议。这两种协议虽然都可以用于网络通信,但是通信方式不同决定了应用场景的不同。与TCP协议相比,UDP协议最具特色的不同点有两个:无连接与面向数据报…

kubernetes集群pod中的pause容器作用

kubernetes集群pod中的pause容器作用 我们搭建完集群了以后,可以使用最简单的方式创建一个pod,随意你建立什么pod,去访问相应node上执行docker ps 就会看到有一种pause容器,但是你可能从来没有启用 etrics-scraper_dashboard-me…

C++中的内存管理

文章目录前言1.C中内存空间的划分2.C内存管理方式1.对内置类型的处理2.对自定义类型的处理3.new和delete实现原理4.定位new3.总结1. malloc/free和new/delete的区别2. 内存泄漏前言 C中的内存空间划分和C语言是很像的,基本上区别不大。但是因C中,引入了…

【华为OD机试模拟题】用 C++ 实现 - 找字符(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 货币单位换算(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 选座位(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 停车场最大距离(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 重组字符串(2023.Q1) 【华为OD机试模…

MyBatis-常用SQL操作

一、动态SQL 1.概述】 1.1动态SQL: 是 MyBatis 的强大特性之一,解决拼接动态SQL时候的难题,提高开发效 1.2分类: if choose(when,otherwise) trim(where,set) foreach 2.if 2.1 做 where 语句后面条件查询的,if 语句是可以…

【OpenFOAM】-olaFlow-算例10-wavemakerTank

算例路径: olaFlow\tutorials\wavemakerTank 算例描述: 采用 Flap和Piston两种方式的动网格进行造波 学习目标: 了解 olaDyMFlow 的使用;理解动网格使用和参数设置,理解 dynamicMotionSolverFvMesh 参数设置&#xff1…

ChatGPT对于普通人有什么机会和影响?

ChatGPT爆火“出圈”,短短三个月里,势如破竹。 月活已经达到1亿,什么概念呢?Tiktok在海外达到1亿月活用了将近9个月时间,Instagram用了大约2年半,就连比尔盖茨都表示“Web3没那么重要,元宇宙没…

STM32---备份寄存器BKP和 FLASH学习使用

BKP库函数 学习BKP,首先就是知道BKP每一个函数的作用然后如何使用即可 使用备份域的作用只需要操作上面的两个函数即可,其余的都是它的其他功能 BKP简介 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份…

【Jupyter Notebook的简单入门使用】

【Jupyter Notebook的简单入门使用】简单介绍安装与配置简单使用Markdown关闭简单介绍 Jupyter官网 Jupyter Notebook 介绍 简单来讲,它是一个网页应用,可以进行文档编写,甚至运行 py 代码等功能 安装与配置 下载合适版本的 python &#…

【C语言】带你彻底理解指针(1)

✨✨✨✨如果文章对你有帮助记得点赞收藏关注哦!!✨✨✨✨ 文章目录指针的介绍:一、简单指针🌈1.1 指针的定义与使用1.2 指针与数组二、指针数组✨三、数组指针🌞3.1 数组指针的定义3.2 ”数组名“与”&数组名“3.…

达梦数据库DSC集群部署

一、概述 1.1 DSC 集群架构 1.2 架构说明 1、DMDSC 集群是一个多实例、单数据库的系统。 多个数据库实例可以同时访问、修改同一个数据库的数据。 2、数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件, 这些文件保存在共享存储上。 3…

肠道核心菌属——双歧杆菌属,了解并拥有它

双歧杆菌 双歧杆菌属(Bifidobacterium)是放线菌门严格厌氧的革兰氏阳性多形性杆状细菌。末端常常分叉,故名双歧杆菌。是人和动物肠道的重要核心菌群和有益生理菌群,也是母乳喂养婴儿中发现的第二大菌。 肥胖、糖尿病和过敏等各种疾…

高德地图基础教程超详细版

在当前社会,对于地图的使用是很必须的,所以对于程序员来说也是需要掌握的技能,目前主流的又百度地图和高德地图,但是我建议使用高德地图,因为百度地图的API着实不好用吖,不好理解,对于开发人员来…