技术标签: 机器学习 计算机视觉 linux 目标检测 深度学习 服务器
首先先的在本地环境下搭建一个我们的环境,名字设为yolo5-6
conda create -n yolov5-6 python=3.7#创建环境
conda activate yolov5-6#切换yolov5-6环境
创建包完成后,我们需要查看conda环境下是否有我们刚才创建的环境,通过以下的指令可以查看所有的环境。
conda env list
通过以下指令可以查看服务器的cuda版本。
nvidia-smi
根据官方的说法快速入门 - 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
明显,已经装好了。
一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而yolov5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。
点击下面的链接即可进入预训练模型的下载。要拉到最下面哦。
GitHub - ultralytics/yolov5 at v6.1
需要注意的是,在执行前几步操作的时候,实际上已经自带yolov5s了权重文件(.pt)和一些其他模型配置文件了(.yaml)。
需要注意的是,大、并不代表你就跑得动,如果你是实验室级别的,那么欢迎你下载那个最好用的,但是如果是学校服务器这类的,那么5s相信已经足够你用了【虽然速度最快,效果最拉胯】,因为在跑模型的时候是需要充分考虑显卡的显存的。
接下来我们需要下载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
–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
美团外卖的品牌代言人袋鼠先生最近正在进行音乐研究。他有两段音频,每段音频是一个表示音高的序列。现在袋鼠先生想要在第二段音频中找出与第一段音频最相近的部分。具体地说,就是在第二段音频中找到一个长度和第一段音频相等且是连续的子序列,使得它们的 difference 最小。两段等长音频的 difference 定义为:difference = SUM(a[i] - b[i])2 (1 ≤ i ...
最近远程给一台计算机装MATLAB,每次都是装成功了,点击桌面图标打开却报错:License Manager Error-103我以为是版本的问题,因为之前有这种情况,试下不同的版本有的能装成功。就从2020b版开始,试到2015版都没用。要知道我找了很多博主的安装教程,各种安装方法都试过了,尤其是基本上这些博主的安装方法都附加了破解版资源,大多数都是百度云资源,百度网盘的下载速度你们知道的,我的心在流泪。结果还是老样子,没成功。这不科学!痛定思痛,肯定有啥我不知道的非版本的原因,百度了一波,发现是由
貌似CentOS 6.X系统默认安装的Python都是2.6版本的?平时使用以及很多的库都是要求用到2.7版本或以上,所以新系统要做的第一件事必不可少就是升级Python啦!在这里做个简单的升级操作记录 :)升级Python系统默认安装的Python是2.6.6的,我们需要升级到Python2.7,用wget命令从官方下载源文件,然后解压进行编译wget http://www.pyth
这一节涉及数学超级多,各种数论知识,各种不明觉厉! 看了几遍,才勉强看懂一些,所以这篇稍微简单的介绍着两种hash table, 免得瞎说说错了。这一讲的主要知识点是:1. 全域哈希及构造 2. 完美哈希1. 全域哈希及构造介绍全域哈希之前,要先讨论一下普通哈希的一个缺点。 举个charles举得那个例子:如果你和一个竞争对手同时为一家公司做compiler的sy...
0.原理略1.数据http://www.ai-xlab.com/my/course/135课时1-课程资料是CSV文件,依据已有数据推断是否买电脑数据属性:age,income,student,credit_rating标签属性:Yes/No共14笔数据2.需要的库csv,sklearn,graphviz其中graphviz需要独立安装并自行设置环境变量,否则报错:make...
------- CornerFly真诚期待与您交流! ----------一、数组1、定义元素类型 数组名[元素个数];比如:int ages[3];*数组只能存放一种类型的数据,并且是有序的。2、赋值1> int ages[3];age[0] = 19;age[1] = 20;age[2] = 29;2>int a[3] = {10, 9, 6};*只能在定义数组的同时使用这种方式给数组初始化3>int ages[5]
父组件传子组件的值正常都是从后端获取的,官方推荐使用axios来进行前后端交互,使用 axios.get(),因为axios返回的是Promise,所以直接用.then() 在里面写个接收函数接收返回值ret,ret的返回值就可以对应的赋值在在data里面定义的kv值。将data里面获取到的值通过在template中的子组件标签上通过v-bind:xxx = ''这样父组件的操作就完成了,然...
Ruoyi Vue登录功能后端代码调用流程
本文介绍了从自动化测试简介到Web应用自动化测试工具Selenium的使用,主要涉及内容有元素定位、元素操作、特殊元素操作、元素等待、鼠标&键盘操作、浏览器操作等。
导入时,报from PyQt5.QtWidgets import * ImportError: DLL load failed: %1 不是有效的 Win32 application!查了很多资料,发现原来PyQt5安装包也是区分电脑位数的,我的电脑是32位的,装的PyQt5确是64位的,由于我这边用pip install PyQt5一直报time out错误,所以我采用的是去官网直接下载对应的P...
帮助铃木购买他豆腐!【难度:2级】:答案1:def buy_tofu(cost, box): box = box.split() M, m = box.count('monme'), box.count('mon') total = 60 * M + m C, c = divmod(cost, 60) change = min(C, M) if ...