- 博客(40)
- 收藏
- 关注

原创 深度学习(三):自己训练yolov3模型进行目标检测
流程了解过yolov3的模型结构了(但是还没去看v1,v2,尬)现在我准备用自己的数据集进行一个训练,看看能不能达到想要的预期效果。流程:1、搜集数据集。2、数据集标注和分类3、进行训练4、得到权重进行预测1、搜集数据集本来脑洞大开,想做一些不一样的检测,结果,,不知道去哪里搞那么大量的数据集。最后,最为初次入门,我选择了笔这个物品,作为我的数据集内容。伙伴们淘宝搜寻了两百张的各类笔的数据集比如这样:再比如这样:如果你们也想搞这个训练,自己上淘宝卖家秀,买家秀,一顿copy。
2020-08-13 11:10:22
2878
2

原创 深度学习(一):win&linux下配置pytorch环境
@TOC在这里插入代码片配置环境开始探究深度学习,首要的任务是装一个适用于深度学习的环境。当前用于深度学习的两个新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语
2020-07-29 13:46:16
1392
1
原创 深度学习(一补充)win&linux下安装anaconda3&pycharm
win&linux下安装anaconda3&pycharmwin下安装anaconda3&pycharmlinux下安装anaconda3&pycharmwin下安装anaconda3&pycharmhttps://www.anaconda.com/products/individual下载安装anaconda3.然后进行环境配置:在计算机右键->属性->高级系统设置->环境变量->系统环境变量path中。添加上述的三条信息。1
2021-11-18 19:16:57
1414
原创 GNN(二)GNN研究
GNN研究相信大家看完GNN(一)的部分,对GNN的基础知识已经了解了不少。去年我当时做研究时,有做一份PPT,在这里,我放出来,给大家,更可参考的认识GNN。在这里,我也要感谢中科院计算所的沈华伟老师给我GNN的学习带来的启蒙帮助,有GNN研究兴趣的小伙伴们,可以去听听他的演讲,很详细,很具体。之后我也会继续跟进。写一些关于GNN相关的研究。...
2021-11-13 21:26:40
2573
原创 python 图像等比例缩放
图像等比例缩放图像缩放等比例缩放pytorch下,对多维tensor进行缩放图像缩放目前比较常用的就是opencv-python底下的cv2.resize()cv2.resize(src, size, fx, fy, interpolation)其中src是输入原始图像,size为缩放的尺寸,fx为可选择的沿水平轴的比例因子,fy为可选择的沿垂直轴的比例因子,interpolation是可选择的插值方法,其中有:cv.INTER_NEAREST最近邻插值;cv.INTER_LINEAR双线性插值;
2021-11-13 20:56:27
25534
2
原创 深度学习(四):自己训练yolov5模型进行目标检测
自己训练yolov5模型进行目标检测流程工程开始问题总结流程跟yolo系列一样,检测训练过程包括了4步:搜集数据集数据集的标注,分类以及清洗进行训练获得权重进行测试和预测工程开始先附上源码链接:https://github.com/ultralytics/yolov5下载或者通过git clone https://github.com/ultralytics/yolov5.git将YOLOv5源码download,创建虚拟环境,并通过pip install -r requirements
2021-11-04 10:25:29
3553
4
原创 pytorch框架下计算模型推理时间
pytorch框架下计算推理时间我们需要使用torch.cuda.synchronize()函数进行推理时间开销计算。关于torch.cuda.synchronize(),参照torch官方文档torch.cuda.synchronize其主要作用是等待 CUDA 设备上所有流中的所有内核完成。一般进程按照如下操作:torch.cuda.synchronize()start = time.time()XXX(进程)XXX(进程)XXX(进程)torch.cuda.synchronize(
2021-10-30 11:40:32
3818
2
原创 PGNet: Real-time Arbitrarily-Shaped Text Spotting with Point Gathering Network阅读
PGNet: Real-time Arbitrarily-Shaped Text Spotting with Point Gathering Network单阶段文本spotter算法——点收集网络论文链接:https://arxiv.org/abs/2104.05458代码链接:https://github.com/PaddlePaddle/PaddleOCR论文解析PGNet: Real-time Arbitrarily-Shaped Text Spotting with Point Gathe
2021-09-17 10:54:13
965
原创 Scene Text Detection with Scribble Lines论文阅读
Scene Text Detection with Scribble Lines带有涂鸦线的场景文本检测 2021 AAAI论文解析Scene Text Detection with Scribble Lines论文核心思想培训和推理细节结果分析论文核心思想主要贡献一:提出了一种标记成本低得多的弱标记场景文本检测方法,这是一种适用于各种形状文本的通用方法。文本实例的标注规则是:(1)对于水平或定向的文本实例,第一个和最后一个字符中心附近的两个点被标注;(2)对于不规则形状的文本实例,我们在中心
2021-06-03 18:07:47
328
原创 TextMountain: Accurate Scene Text Detection via Instance Segmentation论文阅读
TextMountain: Accurate Scene Text Detection via Instance Segmentation通过实例分割的准确的场景文本检测论文解析TextMountain: Accurate Scene Text Detection via Instance Segmentation论文核心思想培训与推理细节结果分析论文核心思想主要贡献一:我们提出了一种新的方法——文本山,它由TS, TCBP and TCD组成。实验证明,TCBP 能够很好地分离文本行并对其进行分
2021-06-03 15:12:38
335
原创 TextFuseNet: Scene Text Detection with Richer Fused Features论文阅读
**TextFuseNet: Scene Text Detection with Richer Fused Features**利用更丰富的特征融合进行场景文本检测代码:https://github.com/ying09/TextFuseNet论文解析TextFuseNet: Scene Text Detection with Richer Fused Features论文核心思想论文培训及推理细节论文结果分析论文核心思想贡献一:提出了一种新的框架——文本融合网络。提出了两种流程1、多级
2021-06-02 15:32:04
548
原创 提取各个文件夹下的内容,分割格式不同的文件(例jpg and xml)
提取各个文件夹下的内容将主文件夹下各个文件夹中的内容提取出来data_main_path:----data_1:---------a---------b---------…----data_2:--------a--------b---------…----…。。。。。。。。。。。。。。。。。data_main = "data_main_path"data_output_path = "data_output"for data_files in data_main: fo
2021-04-28 17:41:12
343
原创 pytorch中获得模型参数量统计
pytorch中获得模型参数量统计import numpy as npmodel = net1()total_params = 0Trainable_params = 0NonTrainable_params = 0for param in model.parameters(): multvalue = np.prod(param.size()) total_params += multvalue if param.requires_grad: T
2021-04-10 16:23:00
1123
原创 判断数组中的值是否满足一定条件
判断数组中的值是否满足一定条件。a.all()import numpy as npnp1 = [1,2,3,4]# 转为numpy数组np1 = np.array(np1)print((np1 >= 4).all())结果输出为:Falsea.any()import numpy as npnp1 = [1,2,3,4]# 转为numpy数组np1 = np.array(np1)print((np1 >= 4).any())结果输出为True...
2021-03-04 16:40:59
1177
1
原创 pytorch调用多GPU及GPU选择
pytorch多卡调用与选择单机多卡第一步,查看gpu环境:执行:nvidia-smi第二步,gpu选择:执行:os.environ['CUDA_VISIBLE_DEVICES'] = '0,3'将gpu环境设定为0卡和3卡。使用显卡训练有两个部分需要进行挂gpu。1数据:直接inputs = inputs.cuda() labels = labels.cuda()在模型上并行我们需要:model = nn.DataParallel(model) # or torch.nn.Dat
2021-02-04 12:32:47
5886
原创 pyqt5学习(2)实现一个简单ui.py -> exe
pyqt5学习(2)实现一个简单ui.py -> exe实现一个简单的图形界面到桌面可执行文件过程,以及记录一些出现的问题。我就遇到一个很坑的问题,其实问题很小。。。。。。。第一步 我们要构建一个我们需要的图形功能界面pyqt5学习(1)中我们已经可以正常运行qt designer了,我们现在打开qtdesigner我们一般就选择这个mainwindow就好了,初始不需要啥版面然后我们就可以在左边将我们需要的物件拉到右边,然后在右边进行参数设计,大小,颜色,字体什么的。关于qt d
2021-02-01 13:48:58
336
原创 pyqt5学习(1)加载环境
pyqt5学习加载环境本人使用的是pycharm,首先打开我们应用pyqt5任务的虚拟环境。1、打开命令窗口,conda activate xxx2、然后进行安装pyqt5,pip install pyqt5 下载可能会有点慢,建议使用国内镜像源,我使用的是豆瓣的源,命令在 window配置pytorch环境 文章中。3、接下来就是安装ui编辑器qt designer。 输入命令:pip install pyqt5-tools .4、接下来我们要如何打开qt designer呢,我们可以再pyc
2021-01-31 19:56:30
171
原创 近来一些问题
pip 产生unpack问题使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn xxxshapely 出现找不到geos_c.dll上whl网找对应包下载安装https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
2020-10-31 10:46:22
96
原创 GNN(一)走进GNN
走进GCN的世界GCN是什么,它的发展如何图与图信号处理卷积与图卷积GNN和GCN模型GCN和CNN的对比GCN是什么,它的发展如何GCN:图卷积神经网络发展史:2005年,Marco Gori等人发表了论文,首次提出了GNN的概念,在此之前,处理图数据的方法是在数据的预处理阶段将图转换为用一组向量表示。这种处理方法会丢失很多的结构信息,得到的结果会严重依赖于对图的预处理,GNN的提出能够将学习过程直接架构在图数据之上。2009年,进一步的阐述了图神经网络,提出了一种监督的方法来训练GNN,但是
2020-10-29 19:32:53
14022
10
原创 文件夹下txt重命名
将文件夹下内容全部重命名path = 'result' # 对该路径下所有文件重命名排序count = 1file_list = os.listdir(path) # 该文件夹下所有的文件(包括文件夹)file_list.sort(key=lambda x: int(x[:-4])) #屏蔽后缀排序for file in file_list: # 遍历所有文件 olddir=os.path.join(path, file) # 原来的文件路径 if os.path.isd
2020-10-15 18:05:18
821
原创 文件夹图片文件重命名另存为
文件夹文件重命名另存为import osimport cv2base_dir = "./origin/"dst_dir = "./result/"# 建立一个输出文件夹if not os.path.exists(dst_dir): os.makedirs(dst_dir) print("fistr_dir is:\t{}".format(dst_dir))# 重命名count = 1for fileName in os.listdir(base_dir):
2020-10-15 11:47:41
386
原创 筛选文件夹下的txt文件
筛选文件夹下的txt文件只保存我们需要的txt后缀文件,其余删除import osimport cv2# out_dir = './result1/'## 建立一个输出文件夹# if not os.path.exists(out_dir):# os.makedirs(out_dir)# print("fistr_dir is:\t{}".format(out_dir))## 筛选文件夹下的txt文件file_dir = 'result'for root, dis,
2020-10-15 11:12:53
553
原创 绘制折线图-多条折线并存
绘制折线图from matplotlib import pyplotimport matplotlib.pyplot as pltnames = range(2, 8) # 2-7names = [str(x) for x in list(names)]x = range(len(names))# names = ['2-4', '3-5', '4-6', '5-7'] # 特定名字# x = range(len(names))y1 = []y2 = []y3 = []# pl
2020-09-13 15:04:42
680
原创 绘制柱状图
绘制柱状图import numpy as npimport matplotlib.pyplot as pltx = [u'test1', u'test2', u'test3', u'test4', u'test5'] # 加u 倒置yy = [[4.08, 85.7, 91.67, 72.22, 66.67, 45.83, 61.67, 32.50, 79.17, 70.00], [90.00, 83.45, 98.01, 88.78, 62.50, 84.52, 48.00, 78
2020-08-26 22:34:25
278
原创 CNN中——PILImage和tensor转换
PILImage和tensor转换在我们使用图片训练时,或者使用图片进行预测时,我们都需要过一遍net。然而图片形式是PILImage的格式。net需要的时tensor格式的图片。并且形式为(channel, width, height)我们需要进行转换。转换的方法有两种。一、使用numpy->tensor二、使用PILImage->tensor使用到两个依赖包:torch.from_numpy,torchvision.transforms.numpy->tensor
2020-08-24 11:34:23
3533
3
原创 CNN(一)(终章)——LeNet实战(英文+数字识别)
LeNet pytorch实战续集编写train训练模块万事俱备,只欠训练。效果到底好不好,试一试才知道。话不多说,上代码:def train(epochs): # 定义每个epoch的训练细节。 model.train() # 设置为training模式。 train_acc = 0 # 初始化精确度。 for batch_idx, (data, target) in enumerate(train_loader): data, target = Va
2020-08-19 11:53:29
859
2
原创 CNN(一)(3)——LeNet实战(英文+数字识别)
LeNet pytorch实战续集搭建代码框架之 ——定义我们的个性化LeNet话不多说,上框架:class LeNet5(nn.Module): def __init__(self): super(LeNet5, self).__init__() self.conv1 = nn.Sequential( nn.Conv2d( # (1, 36, 36) 我们输入的图片为36*36通道为1. in_cha
2020-08-19 11:24:36
430
原创 CNN(一)(2)——LeNet实战(英文+数字识别)
LeNet pytorch实战续集上文已经准备好数据集了,现在我们就要开始。搭建整个流程框架咯。流程框架首先我们要知道,搭建一个图像识别的流程是咋样的。数据集载入-> 数据集batch打包 -> CNN网络模型 -> 定义损失函数 -> 定义优化器 -> 写训练模块 -> 写测试模块 -> 写预测模块。我们一步一步来~数据集载入数据集载入工作呢,我们继承pytorch下的Dataset类进行一个书写。关于Dataset类不了解的小伙伴呢,可以去某站看
2020-08-19 10:42:00
655
原创 CNN(一)(1)——LeNet实战(英文+数字识别)
LeNet实战前面已经介绍过了LeNet的网络结构。现在我们将移植LeNet网络框架进行制作一个自己的神经网络图像识别。构想很多人使用LeNet进行手写数字识别。这在少数据集上,有着很好的性能。我根据这个特性。我准备收集一些英文和数字的数据。使用pytorch进行一个识别训练。看看最终的效果如何。过程:收集数据集 -> 分类 -> 搭建整个代码框架 -> 投入训练 -> 微调修改参数 -> 测试 -> 预测收集数据集我搜集了一系列的英文加数字的数据集,其中也
2020-08-19 09:53:54
1706
6
原创 CNN(二)——AlexNet
AlexNetAlexNet在2012年提出,使用八层卷积神经网络。网络模型为卷积层- 池化层- 卷积层- 池化层- 卷积层- 卷积层- 卷积层- 池化层-全连接网络框架代码class AlexNet(nn.Module): def __init__(self): super(AlexNet, self).__init__() self.conv = nn.Sequential( nn.Conv2d(1, 96, 11, 4), #
2020-08-18 17:51:30
132
1
原创 CNN中.view()和.shape()用法总结
.shape用法在CNN中,我们在接入全连接层的时候,我们需要将提取出的特征图进行铺平,将特征图转换为一维向量。这时候我们用到.view做一个resize的功能,用.shape来进行选择通道数。我现在先说括号里的.shape()。.shape()和.size()用法有点类似。.shape[0]和.size(0)都是提取一维参量。比如,CNN特征图feature最终输出为(50,16,4,4)(B,C,H,W)那么.shape[0]和.size(0)就是提取50(batch_size)这个数据
2020-08-18 17:42:12
7742
原创 CNN(一)——LeNet
LeNetLeNet网络在进行少数据集字符识别的时候有着很好的效果。共六层网络结构:输入层 - 卷积层 - 池化层 - 卷积层 - 池化层 - 输出层网络框架代码class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() self.conv = nn.Sequential( nn.Conv2d(1, 6, 5), # in_channels, o
2020-08-18 16:41:22
187
原创 Maxpool和Avgpool选择
池化层池化层往往放在卷积层的后面。进行一个下采样的操作,这样的操作可以加快模型运行速度。分为两种,一种为最大池化,一种为平均池化Maxpool最大池化,若核为2, 步长为1.则在每一个2*2的区域内,选取最大值作为输出。选取最大池化的想法是:若我们需要的对象,偏向于纹理轮廓等特征。选取最大池化可以过滤掉比较多的无用信息。特点更鲜明。Avgpool平均池化若核为2, 步长为1.则在每一个2*2的区域内,选取平均值作为输出。选取平均池化的想法是:若我们需要的对象偏向于整体特性,防止丢
2020-08-16 13:25:27
9018
原创 嵌入式AI——NVIDIA JETSON AGX Xavier
嵌入式AI 开发板 JETSON AGX Xavier使用刷机+环境搭建嵌入式大牛刷机指南pytorch-craft项目工程测试嵌入式大牛测试指南yolov3上板测试嵌入式大牛测试指南tensorRT加速嵌入式大牛加载tensorRTDeepStream加速嵌入式大牛加载DeepStream~~~~~未完待续...
2020-08-15 12:50:04
558
原创 关于框架中.pt权重文件转.weight权重文件
关于权重文件格式转换的问题我之前跑yolo3训练的时候,使用了github上yolo3 这份代码。但是训练之后,预测有点问题。但是在这份代码中,有个命名为models.py的文件。里面写了权重格式转换的代码。我不太清楚是否可以移植出去。但是在这份代码中转换,是成功的。def convert(cfg='cfg/yolov3-spp.cfg', weights='weights/yolov3-spp.weights'): # Converts between PyTorch and Dar
2020-08-13 11:35:40
8876
4
原创 元组tuple添加内容与更改内容格式
tuple添加内容一开始我写了一个元组tud = ()想着用.append()进行一个内容的添加。发现并没有这个功能。网上查了一下资料发现元组无法增删。只能查看和拼接。尬住…于是我选择元组列表互换移形换影进行内容添加~list1 = []for i in range(10): list1.append(1)tud1 = tuple(list1)print(tud1)print(type(tud1))print(tud1[0])print(type(tud1[0]))输
2020-08-07 22:14:06
1267
原创 win下安装NVIDIA apex
APEX安装github源码从github上将源码加载进本地。我们cmd下cd到工程文件下:D:\PycharmProjects\text_c\apex-master\apex这个是我的目录。然后更新一下setuptoolspip install --upgrade setuptools接着python setup.py install搞定~~~~(你在哪个虚拟环境用到,就得activate哪个环境再装噢。不然你工程用别的环境,装的地方不一样,白忙活~)...
2020-07-29 14:35:41
663
原创 win下安装pycocotools
win下安装pycocotools在ubuntu上安装pycocotools比较容易,直接安装就可以了,不过在win下,时没有办法直接安装pycocotools的。我们需要先安装vs2015和wheel,cython安装方法我就不说了,vs2015找个百度云盘链接,或者直接下载。wheel和cython就在终端上输入命令:pip install xxxx慢的话在我上一篇博文中有关于如何解决加速和防止time out问题的方法。装好这些,为了防止找不到vs2015。我们需要打开vs2015.
2020-07-29 14:05:05
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人