1 服务器搭建yolov5环境
1.1 创建环境
首先先的在本地环境下搭建一个我们的环境,名字设为yolo5-6
conda create -n yolov5-6 python=3.7#创建环境
conda activate yolov5-6#切换yolov5-6环境
创建包完成后,我们需要查看conda环境下是否有我们刚才创建的环境,通过以下的指令可以查看所有的环境。
conda env list
通过以下指令可以查看服务器的cuda版本。
conda env list
1.2 跟随官方指引
根据官方的说法快速入门 - YOLOv5 文档 (ultralytics.com),我们最开始需要克隆存储库。但是这样做会很慢,因为服务器连接到github容易断连,故我们可以提前把库下载下来并且解压,然后上传到服务器上。
上传文件
对于连接服务器的学者来说,很多人喜欢用Xshell,但是实际上,finalshell更适合用来服务器的传输文件工作。所以下载finalshell可以很方便的去上传文件。
通常来说,下载后的文件应该是这个名字。
当我们上传到服务器的时候,我们需要进入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
下载完成。
使用以下指令让我们看下yolo需要运行的包是否已经装好。
pip list
明显,已经装好了。
2 下载预训练权重
一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而yolov5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。
点击下面的链接即可进入预训练模型的下载。要拉到最下面哦。
GitHub - ultralytics/yolov5 at v6.1
需要注意的是,在执行前几步操作的时候,实际上已经自带yolov5s了权重文件(.pt)和一些其他模型配置文件了(.yaml)。
需要注意的是,大、并不代表你就跑得动,如果你是实验室级别的,那么欢迎你下载那个最好用的,但是如果是学校服务器这类的,那么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.
通过finalshell将该文件传入服务器,然后使用指令启动它。
python Test02.py
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
搭建Yolov5服务器
- Author -
弄鹊- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Tags in this post...
Reply on: @reply_date@
@reply_contents@