- 博客(450)
- 资源 (8)
- 收藏
- 关注
原创 过拟合的原因和解决方法
过拟合的原因1、数据量太小 这个是很容易产生过拟合的一个原因。设想,我们有一组数据很好的吻合3次函数的规律,现在我们局部的拿出了很小一部分数据,用机器学习或者深度学习拟合出来的模型很大的可能性就是一个线性函数,在把这个线性函数用在测试集上,效果可想而知肯定很差了。2、训练集和验证集分布不一致训练集训练出一个适合训练集那样分布的数据集,当你把模型运用到一个不一样分布的数据集上,效果肯定大打折扣。这个是显而易见的。3、模型复杂度太大在选择模型算法的时候,首先就选定了一个复杂度很高的模型,然后
2021-03-30 17:33:21 15680
原创 pytorch多GPU训练
当代人应当掌握的5种Pytorch并行训练方法(单机多卡)【分布式训练】单机多卡的正确打开方式(三):PyTorchNicolaspytorch多GPU训练Pytorch + Apex 训练流程记录“最全PyTorch分布式教程”来了!【PyTorch】唯快不破:基于Apex的混合精度加速Pytorch 安装 APEX 疑难杂症解决方案...
2021-03-30 16:53:31 180
原创 yoloV5-v3.0-模型转换,pt->onnx->ncnn
版本要求yolov5的版本是v3.0模型训练网上有很多关于yoloV5训练的教程,可自行百度,如果实在不想找,可以参考下面的几个链接。【小白CV】手把手教你用YOLOv5训练自己的数据集(从Windows环境配置到模型部署)【小白CV教程】Pytorch训练YOLOv5并量化压缩(VOC格式数据集)【小白CV教程】Pytorch训练YOLOv5并量化压缩(VOC格式数据集)Pytorch 版YOLOV5训练自己的数据集yolov5人脸识别(yolov5-facenet-svm)YOLOv
2021-03-30 11:11:42 3645 4
原创 yolo系列训练自己的数据集-数据准备
1、标注数据主要基于labelimg软件,具体步骤省略。2、目录组织目录组织如下:├─Annotations├─images├─ImageSets│ └─Main└─labels其中,Annotations目录下,保存的是XML文件,images保存的是图片,Main保存的是训练集和测试集的txt文件,labels保存的是每个XML文件的标签。3、生成训练集和测试集import os import random trainval_percent = 0.8train
2021-03-30 10:08:37 246
原创 yolact-训练自己的数据集
yolact-训练自己的数据集yolact简介安装labelmepip3 install labelmelabelme打开后放入图片并进行标注,如:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KIuYm0eW-1616588123325)(C:\Users\zhong\AppData\Roaming\Typora\typora-user-images\image-20210324195647022.png)]寻找合适的图片并进行一一标注,保存后会生成对应的
2021-03-24 20:16:02 1563 5
原创 NanoDet-训练自己的数据集
NanoDet简介nanodet网址:https://github.com/RangiLyu/nanodetNanoDet 是一个速度超快和轻量级的移动端 Anchor-free 目标检测模型。该模型具备以下优势:超轻量级:模型文件大小仅 1.8m;速度超快:在移动 ARM CPU 上的速度达到 97fps(10.23ms);训练友好:GPU 内存成本比其他模型低得多。GTX1060 6G 上的 Batch-size 为 80 即可运行;方便部署:提供了基于 ncnn 推理框架的 C++
2021-03-23 20:11:38 6429 13
原创 目标检测中将已有的.xml数据集转换成.txt数据集(附代码,归一化后供YOLO格式使用)
目标检测中将已有的.xml数据集转换成.txt数据集(附代码,归一化后供YOLO格式使用)1.新建项目我新建了data目录并新建Annotations, images, ImageSets, JPEGImages, labels 五个文件夹。其中images和JPEGImages存放的是原始的图片数据集,Annotations存放的是标记后生成的xml文件,labels存放的是保存标记内容的txt文件,ImageSets存放的是训练数据集和测试数据集的分类情况。其中Annotations 文件夹
2021-03-22 20:11:16 1753 1
原创 yoloV5的openvino模型转换以及部署
yolov5-V2版本此次转换都是基于yoloV2版本。openvino安装环境变量配置参考文章python环境依赖conda activate openvino # 进入ubuntu 的虚拟环境git clone https://github.com/ultralytics/yolov5.gitcd yolov5pip3 install -r requirements.txt onnx# 降版本pip install torch==1.5.1 torchvision==0.6.1模
2021-03-22 19:32:36 2286 1
原创 机器学习/计算机视觉/嵌入式开发工程师面试问题总结
个人微信公众号1、深度学习基础1、为什么需要做特征归一化、标准化1.使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使得模型更准确率2、加快算法的收敛速度2、常用的归一化和标准化方法有哪些?1、线性归一化(min-max标准化)x’ = (x-min(x)) / (max(x)-min(x)),其中max是样本数据的最大值,min是样本数据的最小值适用于数值比较集中的情况,可使用经验值常量来来代替max,min2、标准差归一化(z-score 0均值标准化)x’=(x-μ)
2021-03-12 20:53:13 370
原创 paddleDetection-目标检测全流程教程
参考链接:https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0-rc/docs/tutorials/DetectionPipeline.md文教程以路标数据集为例,使用yoloV3算法详细说明paddleDetection全流程使用教程,包含:准备数据,选择模型,训练模型,评估,预测,模型压缩和模型部署。数据准备关于数据准备的请参考:注意:(1)数据集中路径名、文件名不要包含空格,尽量不要使用中文(2)用户数据,建.
2021-03-11 13:22:02 3527
原创 paddleDetection-如何准备训练数据
用户数据转换示例第一步:按照下面的形式,组织自己的数据├── annotations│ ├── road0.xml│ ├── road1.xml│ ├── road10.xml│ | ...├── images│ ├── road0.jpg│ ├── road1.jpg│ ├── road2.jpg│ | ...第二步,将数据划分为训练集和测试集# 生成 label_list.txt 文件>>echo "speedlimit\
2021-03-11 09:28:53 881 2
原创 Batch Normalization详解
参考文章BN详解BN的作用使用BN可以获得如下好处:可以使用更大的学习率,训练过程更加稳定,极大提高了训练速度。可以将bias置为0,因为Batch Normalization的Standardization过程会移除直流分量,所以不再需要bias。对权重初始化不再敏感,通常权重采样自0均值某方差的高斯分布,以往对高斯分布的方差设置十分重要,有了Batch Normalization后,对与同一个输出节点相连的权重进行放缩,其标准差σ也会放缩同样的倍数,相除抵消。对权重的尺度不再敏感,
2021-02-22 09:28:14 156
原创 Python-Arrow时间处理包
时间日期库:Arrow关于此库的详细介绍请参考其官网链接: https://arrow.readthedocs.io/en/latest/ arrow官网apihttps://github.com/crsmithdev/arrow arrow的GitHub托管的地址http://www.iplaypy.com/module/m111.html 第三方时间日期库 Python Arrow模块安装$pip install arrow案例import arrowa = arrow.n
2021-02-18 18:38:39 543
原创 keras-数据增强——Keras Image Data Augmentation 各参数详解
数据增强——Keras Image Data Augmentation 各参数详解
2021-02-18 09:00:50 240
原创 0043-机器学习-利用Kmeans聚类实现异常值检测
kmeans原理介绍kmeans算法的思路非常简单,就是不断计算各样本点和簇中心点之间的距离,直到收敛为止,其具体步骤如下:1.从数据中随机挑选K个样本点作为原始的簇中心;2.计算剩余样本与簇中心的距离,并把各样本标记为离K个簇中心最近的类别;3.重新计算各簇中样本点的均值,并以均值作为新的K各簇中心。4.不断重复2和3,直到簇中心的变化趋于稳定,形成最终的K个簇。也许上面的4个步骤还不足以让读者明白Kmeans的执行过程,可以结合下图更进一步地理解其背后的思想。如上图所示,通过9个子图对K
2021-02-03 22:35:33 6758 3
原创 目标检测-mAP测试
keras-yolov3源码git clone https://github.com/qqwweee/keras-yolo3.git目录测试图片的准备数据标签文件的格式转换(XML转换为txt格式)模型对测试图片的检测以及检测结果坐标文件的生成MAP测试结果说明:本次试验中,map的测试采用的是人脸图片数据;本试验中模型的训练/MAP测试只使用了部分试验数据,因此,最后的MAP值并不高,仅供参考;一、测试图片准备1:首先,从GitHub上下载相关的代码,并保存到keras_
2021-01-28 20:34:35 1651
原创 0042-python调用yolov3.weights批量车辆检测并根据识别框裁剪
利用yoloV3进行批量目标识别并根据识别框将所检测目标裁剪下来根据opencv绘制的矩形框将矩形框裁剪# image是原图,左上点坐标, 右下点坐标, 颜色, 画线的宽度cv2.rectangle(image, (x, y), (x + w, y + h), color, 2)text = "{}: {:.4f}".format(LABELS[classIDs[i]], confidences[i])# 各参数依次是:图片,添加的文字,左上角坐标(整数),字体,字体大小,颜色,字体粗细cv2.
2021-01-28 19:59:00 798 3
原创 0041-pytorch入门-猫狗二分类-pth转onnx模型
# -*- coding: UTF-8 -*-# Created by -牧野- CSDN https://blog.csdn.net/dcrmg/article/details/102807575# 参考 https://blog.csdn.net/JR_Chan/article/details/95641758import torchimport torch.nn as nnimport torch.optim as optimfrom torch.optim import lr_sched
2021-01-28 17:43:48 410
原创 0040-pytorch入门-猫狗二分类检测模型
ImageDataset.py# -*- coding: utf-8 -*-# @Time : 2021/1/28 17:23# @Author : Johnson'''负责训练以及测试数据的读取'''from torchvision import transforms,datasetsimport osimport torchfrom PIL import Imagedef readImg(path): ''' 用于替代ImageFolder的默认读取图片函
2021-01-28 17:40:44 654 1
原创 0039-pytorch入门-利用pytorch内嵌的faster-rcnn进行目标检测
# -*- coding: utf-8 -*-# @Time : 2021/1/28 10:09# @Author : Johnsonimport cv2 as cvimport torchvisionimport torchfrom torchvision import transformsimport numpy as npwith open("coco.names") as f: #获取类别名称 coco_names = [line.strip() for line
2021-01-28 10:31:55 146
原创 0037-检测人脸是否佩戴口罩-基于keras的mobilenetV2的三分类模型
train.py# -*- coding: utf-8 -*-# @Time : 2021/1/27 10:57# @Author : Johnsonfrom tensorflow.keras.preprocessing.image import ImageDataGeneratorfrom tensorflow.keras.applications import MobileNetV2from tensorflow.keras.layers import AveragePooling2
2021-01-27 11:12:17 624 1
原创 0036-检测人脸是否佩戴口罩-基于keras的mobilenetV2的二分类模型
train.py# -*- coding: utf-8 -*-# @Time : 2021/1/27 9:18# @Author : Johnson# USAGE# python train_mask_detector.py --dataset datasetfrom tensorflow.keras.preprocessing.image import ImageDataGeneratorfrom tensorflow.keras.applications import Mobile
2021-01-27 09:49:21 478 1
原创 0035-目标检测-yolo-kmeans计算Anchor脚本
#coding:utf-8import xml.etree.ElementTree as ETimport numpy as npdef iou(box, clusters): """ 计算一个ground truth边界盒和k个先验框(Anchor)的交并比(IOU)值。 参数box: 元组或者数据,代表ground truth的长宽。 参数clusters: 形如(k,2)的numpy数组,其中k是聚类Anchor框的个数 返回:ground truth和
2021-01-26 14:24:29 179
原创 0034-csv2coco/csv2voc/labelme2coco/labelme2voc/csv2json
https://github.com/spytensor/prepare_detection_dataset
2021-01-26 11:22:56 335
原创 0033-labelme格式转化为xml格式
create_xml_anno.py# -*- encoding: utf-8 -*-"""@File : create_xml_anno.py@Time : 2020/06/10 17:54@Author : Johnson@Email : 593956670@qq.com"""# -*- coding: utf-8 -*-from xml.dom.minidom import Documentclass CreateAnno: def __init__(
2021-01-26 11:09:48 975 3
原创 0032-目标检测-coco格式转voc格式
import osimport numpy as npimport codecsimport jsonfrom glob import globimport cv2import shutilfrom sklearn.model_selection import train_test_split# 1.标签路径labelme_path = "./labelme/" # 原始labelme标注数据路径saved_path = "./VOC2007/" # 保存路径# 2.创建要求文
2021-01-26 10:42:03 127
原创 0032-利用flask调用摄像头
index.html<!doctype html><html lang="en"><head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Boots
2021-01-26 09:46:49 1749 1
原创 0031-keras入门-图片多分类
from keras.applications.resnet50 import ResNet50from keras.applications.vgg16 import VGG16from keras.models import Modelfrom keras.layers import Dropout,Flatten,Densefrom keras.optimizers import SGD,Adamfrom keras.callbacks import TensorBoardfrom ker
2021-01-25 19:04:59 125
原创 0030-身份证号码的4位生日解密
def leapYear(year): if year % 100 != 0 and year % 4 == 0: return DateInfo(True) elif year % 100 == 0 and year % 400 == 0: return DateInfo(True) else: return DateInfo(False)def dateAddZero(date): if date<10:
2021-01-25 17:06:25 970
原创 0029-keras-mobilenet二分类模板
mobilenet.py# -*- coding: utf-8 -*-# @Time : 2021/1/24 18:35# @Author : Johnson'''利用了深度可分离网络,正常的卷积核:输入的通道数是16,输出图像需要32,卷积核大小3*3*32 3*3*16*32=4608深度可分离卷积核:输入的通道数是16 输出图像需要32 卷积核大小3*3*16 和 1*1*32先用3*3*16对输入卷积,由于卷积后的通道数不足,在加上一个1*1*32的卷积增加通道数,3*
2021-01-25 10:44:03 409
原创 0028-人脸数据widerface数据转化为yolo格式
'''@Author: your name@Date: 2020-06-22 18:21:39@LastEditTime: 2020-06-22 19:18:01@LastEditors: Please set LastEditors@Description: In User Settings Edit@FilePath: /zhongls/一些分类模型脚本/widerface2yolo.py'''import numpy as npimport cv2import shutilimp
2021-01-24 18:04:25 387
原创 0027-pytorch入门-利用resnet18 finetune进行图片二分类
# -*- coding: utf-8 -*-# @Time : 2021/1/24 14:34# @Author : Johnsonimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.optim import lr_schedulerfrom torch.utils.data import DataLoaderimport torchvisionfrom torchvision.transf
2021-01-24 15:58:44 1239
原创 0026-pytorch入门-图片二分类在VGG16基础上finetune
# -*- coding: utf-8 -*-"""Created on ${DATE} ${TIME}@author: JohnsonEmail:593956670@qq.com"""import torchimport torchvision#preparemodel1_vgg16 = torchvision.models.vgg16(pretrained=True)#设置网络参数#读取输入特征的维度num_fc = model1_vgg16.classifier[6].i
2021-01-24 14:38:44 1120
原创 0025-pytorch入门-分类模型经典案例
参数设置,config.py# -*- coding: utf-8 -*-# @Time : 2021/1/20 19:07# @Author : Johnsonclass DefaultConfigs(object): #1.string parameters train_data = "/home/user/zls/data/train/" test_data = "" val_data = "/home/user/zls/data/val/" m
2021-01-21 10:30:54 420
原创 0024-pytorch入门-基于VGG11迁移学习对狗狗分类
# -*- coding: utf-8 -*-# @Time : 2021/1/20 10:42# @Author : Johnson#Importing Librariesimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom PIL import Imagefrom PIL import ImageFileimport cv2# importing Pytorch model libr
2021-01-20 10:54:48 299
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人