深度学习番外——Yolov5服务器环境搭建

文章目录

    • 1 服务器搭建yolov5环境
      • 1.1 创建环境
      • 1.2 跟随官方指引
    • 2 下载预训练权重
    • 3 推理
    • 4 测试

1 服务器搭建yolov5环境

1.1 创建环境

首先先的在本地环境下搭建一个我们的环境,名字设为yolo5-6

conda create -n yolov5-6 python=3.7#创建环境
conda activate yolov5-6#切换yolov5-6环境

创建包完成后,我们需要查看conda环境下是否有我们刚才创建的环境,通过以下的指令可以查看所有的环境。

conda env list

image-20220429211609887

通过以下指令可以查看服务器的cuda版本。

nvidia-smi

image-20220429211555771

1.2 跟随官方指引

根据官方的说法快速入门 - YOLOv5 文档 (ultralytics.com),我们最开始需要克隆存储库。但是这样做会很慢,因为服务器连接到github容易断连,故我们可以提前把库下载下来并且解压,然后上传到服务器上。

上传文件

对于连接服务器的学者来说,很多人喜欢用Xshell,但是实际上,finalshell更适合用来服务器的传输文件工作。所以下载finalshell可以很方便的去上传文件。

通常来说,下载后的文件应该是这个名字。

image-20220429211059594

当我们上传到服务器的时候,我们需要进入cd定位到yolov5-master这个文件夹中,通过ls查看是否有requirements.txt这个文件。如果没有,无论是可视化还是非可视化,你都必须把cd定位到包含有这个文件的文件夹下。

据官方所说,我们要从克隆的存储库目录安装所需的软件包。但是如果是使用外国的pip,下载速度会满到离谱,故我们使用清华园进行下载。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt -r requirements.txtLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple

image-20220429211537862

下载完成。

使用以下指令让我们看下yolo需要运行的包是否已经装好。

pip list

image-20220429211746369

明显,已经装好了。

2 下载预训练权重

一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而yolov5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。

点击下面的链接即可进入预训练模型的下载。要拉到最下面哦。

GitHub - ultralytics/yolov5 at v6.1

image-20220429214100135

需要注意的是,在执行前几步操作的时候,实际上已经自带yolov5s了权重文件(.pt)和一些其他模型配置文件了(.yaml)。

image-20220429214534714

image-20220429214611239

需要注意的是,大、并不代表你就跑得动,如果你是实验室级别的,那么欢迎你下载那个最好用的,但是如果是学校服务器这类的,那么5s相信已经足够你用了【虽然速度最快,效果最拉胯】,因为在跑模型的时候是需要充分考虑显卡的显存的。

3 推理

接下来我们需要下载yolov5的模型。在这一步中无法加速了,只能等了。

任意新建一个.py文件,然后写入如下的代码,终端运行

import torch# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')  # or yolov5m, yolov5l, yolov5x, custom# Images
img = 'https://ultralytics.com/images/zidane.jpg'  # or file, Path, PIL, OpenCV, numpy, list# Inference
results = model(img)# Results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

image-20220429215012878

通过finalshell将该文件传入服务器,然后使用指令启动它。

image-20220429215134558

python Test02.py

image-20220429215323310

4 测试

–source表示测试数据,–project指定保存路径,–weights指定测试模型。我们使用yolov5master文件夹中官方自带的测试文件来测试一下yolov5s模型是否可用。

在shell命令窗口输入以下指令:

python detect.py --source data/images/zidane.jpg --weights v5_pre_models/yolov5s.pt --project out --img-size 640

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

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

相关文章

机器学习实战(一)——员工离职预测

文章目录员工离职预测——逻辑回归的应用1 读取文件2 独热编码3 划分数据集4 归一化5 逻辑回归预测6 模型预测及评估员工离职预测——逻辑回归的应用 开始这个案例之前,请先点击这里的数据集进行下载:HR_comma_sep.zip - 蓝奏云 (lanzout.com) 1 读取文…

Mac版Anaconda安装Tweepy包

Anaconda官网给出的tweepy包安装方法:https://anaconda.org/conda-forge/tweepy 查阅Anaconda官方文档,可以通过以下控制台命令安装Tweepy包。 conda install -c conda-forge tweepy 在控制台执行后,系统可能会提示未找到conda指令&#xff…

iOS 证书与签名 解惑详解

iOS 证书与签名 解惑详解 分类: iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报iosxcodecryptographyappleiphone测试目录(?)[] 教程截图: 下面是一篇有澳洲墨尔本的一名全职iOS开发者提供的文章。他在论坛上是一个很摩登的年轻人 – Adam Eberb…

Julia学习笔记(一)——入门

文章目录1 入门1.1 启动与退出1.1.1 启动1.1.2 退出1.2 编译文件1.3 变量1.3.1 基本介绍1.3.2 重定义1.3.3 变量名合法性1 入门 1.1 启动与退出 1.1.1 启动 在没有任何IDE的帮助下,使用cmd启动黑窗口来尝试julia是一种最简单的方法。我们称进入julia后的黑窗口为…

Linux学习宝典

文章目录1 虚拟机1.1 简介1.2 Linux版本1.2.1 内核1.2.2 发行版1.3 文件和目录1.3.1 单用户操作系统和多用户操作系统1.3.2 window文件系统1.3.3 Linux下的文件系统2 概述2.1 为什么要学习命令2.2 一些基本操作和说明3 指令和选项4 基础指令4.1 ls指令4.1.1 讲解4.1.2 选项4.1.…

《华为工作法读后感》

开篇 首先不得不说《华为工作法》是一本很好的书籍。感谢我们领导的照顾和用心,才使得我们又有了一些对社会 对工作 对生活等等的认知 。 之前的我是不怎么读书的,因为个人原因读的慢,每句话都要了解其中寓意之后才继续读下去,还有就是工作…

Redis发布与订阅——PUBLISH SUBSCRIBE

2019独角兽企业重金招聘Python工程师标准>>> Redis发布与订阅——PUBLISH & SUBSCRIBE 一般来说,发布与订阅(又称pub/sub)的特点是订阅者(listener)负责订阅频道(channel&…

Android 网络通信架构学习

最近跟着云课堂上的极客学院做安卓APP,学习了课程里面介绍的一种网络通信架构。清晰明了,比我自己东一块西一块拼凑出来的要好很多。在这里记录一下。 云课堂的连接:http://study.163.com/course/courseMain.htm?courseId917001 目录&#x…

网络爬虫(二)——Xpath和Selenium的使用

文章目录2 网络爬虫进阶2.1 Xpath2.1.1 Xpath解析原理2.1.2 信息提取2.1.2.1 获取所有结点2.1.2.2 获取子节点2.1.2.3 获取父节点2.1.2.4 获取文本2.1.3 属性匹配2.1.3.1 单个属性匹配2.1.3.2 多个属性匹配3.1 Selenium3.1.1 概述3.1.2 安装3.1.3 元素定位3.1.4 元素信息3.1.5 …

lintcode:买卖股票的最佳时机 III

买卖股票的最佳时机 III 假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成两笔交易。 样例 给出一个样例数组 [4,4,6,1,1,4,2,5], 返回 6 解题 尝试参考买卖股票的最佳时机 II 提交运行发现错误&#…

团队项目计划BACKLOG

团队名称: 铁大老司机 团队成员: 组长:杨超群 组员:杨涛 杜文星 张家军 计划会议过程: 我们小组在周三下午进行了团队会议,会议召开在图书馆大厅,主要内容是进行项目的总体计划安排&#xff0…

C++从0到1的入门级教学(八)——通讯录管理系统

文章目录8 通讯录管理系统8.1 系统需求8.2 菜单功能8.3 退出功能8.4 添加联系人8.4.1 设计联系人结构体8.4.2 设计通讯录结构体8.4.3 main函数中创建通讯录8.4.4 封装添加联系人函数8.5 显示联系人8.5.1 封装显示联系人函数8.5.2 调用显示联系人函数8.6 删除联系人8.6.1 封装检…

【Data Cluster】真机环境下MySQL数据库集群搭建

真机环境下MySQL-Cluster搭建文档 MySQL Cluster简介 MySQL cluster 和 Oracle RAC 完全不同,它采用 无共享架构Shared nothing(shared nothing architecture)。整个集群由管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd)组…

数据结构杂谈(八)——树(上)

文章目录8 树(上)8.1 引入8.2 树的基础知识8.3 树的存储结构8.3.1 双亲表示法8.3.2 孩子表示法8.4 二叉树8.4.1 基础知识8.4.2 高频考点8.4.3 二叉树的性质8.4.4 二叉链表8.4.5 树和二叉树的转换8.4.6 森林和二叉树的转换8.5 遍历8 树(上) 8.1 引入 我们在前面的章节中一直在…

Maven(一)——快速上手Maven

文章目录Maven概述Maven简介Maven的安装Maven的基本使用IDEA配置Maven依赖管理依赖范围Maven概述 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: (一)提供了一套标准化的项目结构 不同的IDE项目结构是不一样的&…

EntityFramework_MVC4中EF5 新手入门教程之三 ---3.排序、 筛选和分页

在前面的教程你实施了一套基本的 CRUD 操作,为Student实体的 web 页。在本教程中,您将添加排序、 筛选和分页到 StudentsIndex的功能。您还将创建一个页面,并简单分组。 下面的插图显示页面当你完成时的样子。列标题是链接,用户可…

fluentd主从配置

fluentd是一个免费的、完全开源的日志管理工具,可以对日志进行收集、处理、存储。对于一些高流量的网站或者特殊的架构,需要fluentd高可用配置。 以下是在测试环境搭建模拟fluentd主从配置,模拟主从切换。 服务器 服务 192.168.199.1 elas…

Hadoop总结

目录 大数据概述 Hadoop大数据开发平台 资源管理YARN 分布式文件系统HDFS 非关系型数据库NOSQL 分布式数据库HBASE 批处理和MapReduce 数据仓库查询分析和Hive 基于内存计算的Spark 流计算和Flink 图计算和PREGEL Hadoop常用命令总结 大数据概述 大数据的4V&#x…

HDFS的常用操作

1、HDFS文件的权限以及读写操作 HDFS文件的权限: •与Linux文件权限类似 •r: read; w:write; x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容 •如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文…

并行计算总结

作者:ArimaMisaki 目录 1 并行计算概述. 2 1.1 基本概念. 2 1.2 存储器的层次结构. 3 1.3 并行计算. 3 1.4 动态互连网络. 4 1.5 并行计算机结构模型. 5 1.6 并行算法的基本设计策略. 6 1.7 并行编程风范. 6 1.8 单核多线程和并发执行. 7 1.9 拓展&#x…