pytorch学习笔记
Dawn向阳而生
这个作者很懒,什么都没留下…
展开
-
召回率与精确率的理解
召回率与精确率原创 2022-08-21 15:42:47 · 3817 阅读 · 2 评论 -
租用终端训练网络遇到的一些坑
终端训练报找不到参数文件yaml原创 2022-06-27 16:49:51 · 647 阅读 · 1 评论 -
CRNN-libtorch模型推理的时候报错std:runtime_error
使用libtorch模型推理的时候出现报错std:runtime_error原创 2022-06-13 18:05:58 · 1035 阅读 · 0 评论 -
CRNN-模型转换问题Missing Errorin loading state_dict for CRNN
CRNN-pytorch模型转为libtorch模型的时候出现报错情况,原创 2022-06-13 17:49:15 · 167 阅读 · 0 评论 -
yolov5-pytorch导出模型问题
yolov5导出模型目的及参数设置原创 2022-05-07 14:34:02 · 870 阅读 · 0 评论 -
libtorch-加载预训练模型出现No such serialized submodule: ‘xxx‘
今天在用libtorch训练得时候,想用预训练模型加速训练,居然报错,以为是模型得问题,然后重新训练了一个模型,作为预训练模型,还是报错,一时找不到原因,最后在大佬的帮助下搞定了,先贴上错误的:这是我以为的,实际上应该这样:这里有一些torch::load和from_load应该有很大差别,具体什么差别呢,等有时间在查,只知道前者用在部署的时候...原创 2022-04-01 17:11:56 · 214 阅读 · 0 评论 -
【无标题】 libtorch C++ vs2017 debug模式可以正确加载模型,release模式错误
转发:libtorch C++ vs2017 debug模式可以正确加载模型,release模式错误https://blog.csdn.net/weixin_43862688/article/details/120533390转载 2022-03-29 09:33:41 · 183 阅读 · 0 评论 -
Yolov5 -libtorch部署
将python训练好的网络模型转为可以再libtorch上走的pth模型,转换代码如下:可以直接赋值粘贴import argparseimport sysimport timesys.path.append('./') # to run '$ python *.py' files in subdirectoriesimport torchimport torch.nn as nnimport modelsfrom models.experimental import attempt原创 2022-03-01 18:16:25 · 644 阅读 · 0 评论 -
libtorch-resnet18
与大家分享一下自己在学习使用libtorch搭建神经网络时学到的一些心得和例子,记录下来供大家参考首先我们要参考着pytorch版的resnet来搭建,这样我们可以省去不必要的麻烦,上代码:1、首先是pytorch版残差模块class ResidualBlock(nn.Module): def __init__(self, inchannel, outchannel, stride=1, shortcut=None): super(ResidualBlock, self).__原创 2022-01-05 15:16:52 · 1803 阅读 · 0 评论 -
Dropout 丢弃函数的使用
Class USeDropout(nn.Module): def __init__(self): super(DropoutFC, self).__init__() self.fc = nn.Linear(100,20) self.dropout = nn.Dropout(p=0.5)#声明 def forward(self, input): out = self.fc(input)原创 2021-12-21 18:24:27 · 361 阅读 · 0 评论 -
vgg16网络改深度可分离卷积
原网络class CNN0(nn.Module): def __init__(self,imageHeight,nChannel): super(CNN0,self).__init__() assert imageHeight % 32 == 0,'image Height has to be a multiple of 32' self.conv0 = nn.Conv2d(in_channels=nChannel,out_channels=原创 2021-12-21 17:33:45 · 445 阅读 · 0 评论 -
转载知乎-深度可分离卷积
深度可分离卷积转载 2021-12-21 16:55:01 · 134 阅读 · 0 评论 -
卷积神经网络的入门与提升
转载一篇文章,感觉很好,大家有时间可以读一下,每次读都有新体会卷积神经网络的入门转载 2021-12-20 15:00:38 · 75 阅读 · 0 评论 -
pytorch-resnet34残差网络理解
工欲善其事必先利其器,在使用该网络之前要先了解该网络的具体细节,我今天也是第一次查资料,然后加上自己的理解去写这篇学习成长文章。残差模块class ResidualBlock(nn.Module): def __init__(self, inchannel, outchannel, stride=1, dowansample=None): super(ResidualBlock, self).__init__() self.left = nn.Sequential原创 2021-12-20 11:40:27 · 3201 阅读 · 0 评论 -
pytorch版crnn网络框架
这是我们常见的pytorch版的crnn网络框架,我遵循老师的想法,用C++和libtorch也搭建了一个一模一样的框架,主要是用来部署用的,我暂时把libtorch版本的代码放到了私密文章里面,还没有公开,有需要的私信我import torch.nn as nnimport torch.nn.functional as Ffrom collections import OrderedDictclass BidirectionalLSTM(nn.Module): # Inputs hidde原创 2021-12-15 10:24:02 · 1838 阅读 · 0 评论 -
数据集不够-数据增强-添加高斯噪声
import cv2import osimport numpy as npimport random#添加高斯噪声def gaussian_noise(img,mean,sigma): ''' 此函数将产生高斯噪声加到图片上 :param img:原图 :param mean:均值 :param sigma:标准差 :return:噪声处理后的图片 ''' img = img/255 #图片灰度标准化 noise = n原创 2021-11-02 14:09:39 · 5258 阅读 · 2 评论 -
CRNN+CTCocr识别采坑记录
最近在做ocr识别项目,由于是第一次接触这个东西,所以在整个过程中采到了非常多的坑,这里就记录一下采坑的地方,以及都是怎么解决的,方便大家接下来使用。1、首先是这个坑pytorch错误:RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED (安装cuda)这个错误表达的意思好像是内存或者显存不够,这个一般是在训练开始几轮之后才会发生,这个时候就要去检查train时传入hatch_size和test的batch_size,一般这个这两个是同时原创 2021-11-01 09:17:32 · 533 阅读 · 2 评论 -
yolov5(pytorch)实现目标检测后输出检测框的位置信息
在yolov5检测目标后想要输出目标位置,在网上找了几个简称,都没有实现,第一个是让找到plot_one_box的这个函数,然后去修改,但是发现没有鸟用。最后在以为博友哪里找到了正确的解决方法,就是在detect.py文件夹下直接修改就行了,下面贴上图片输出结果如下图添加代码如下: x1=int(xyxy[0].item()) y1=int(xyxy[1].item()) x2=int(xyxy[2].item())原创 2021-10-15 12:04:03 · 34787 阅读 · 86 评论 -
标签制作(待更改)
```xml<?xml version="1.0"?>-<annotation><folder>Cam1_ImageFiles</folder><filename>2.png</filename><path>D:/wechatfile/Cam1_ImageFiles/2.png</path>-<source><database>Unknown</datab原创 2021-10-12 14:48:06 · 90 阅读 · 0 评论 -
pytorch resnet18网络动物分类完整的模型训练、验证、测试过程
先重写resnet18的模型,其实不用写也行,可以直接在models中调用import torchimport torch.nn as nnfrom torch.nn import functional as Fclass RestNetBasicBlock(nn.Module): def __init__(self, in_channels, out_channels, stride): super(RestNetBasicBlock, self).__init__()原创 2021-10-11 12:01:44 · 4970 阅读 · 23 评论 -
报num_samples should be a positive integer value, but got num_samples=0错误
train=DataLoader(mydata_train,batch_size=64,shuffle=True)上面是对数据进行打包的一个片段,但是在对数据进行批量打包时出现以下的错误Traceback (most recent call last): File "D:/project/learn/aa.py", line 81, in <module> main() File "D:/project/learn/aa.py", line 76, in main t原创 2021-10-09 15:42:27 · 2326 阅读 · 7 评论 -
pytorch复习与总结
今天来复习pytorch的数据读取机制torch.utils.data.DataLoader();构建可迭代的数据装载器,每一个for 循环,每一个iteration,都是从DataLoader中获取一个Batch_size大小的数据。有没有好奇过,就加载这几个类,然后就可以把数据读取,而且还能以批量的形式加载,这是怎样的一个过程呢?今天我们就来慢慢的深入学习,学到哪是哪。其中DataLoader大概有几个重要的参数,分别为:1、dataset:属于DataSet类,决定数据从哪读取,怎么读取。原创 2021-09-20 21:53:52 · 752 阅读 · 1 评论 -
pytorch复习总结与例子2
写在前面:学习pytorch也有一段时间了,一直都是在网上看别人的代码然后自己再敲一遍,把不理解的地方查找一下资料,但是总感觉缺点是什么,仔细思考一下整个过程,有点类似背代码的意思,这是非常要命的一点,所以今天就索性把这个在从头一点一点的利用晚上的时间再复习一边.今天我们复习的是计算图与动态机制深度学习一直在操控的是各种张量,少量的张量我们可以处理,但是随着网络的加深,各种参数的增多,张量的增多,会导致各种各样的问题产生,那么我们应该怎么处理这个现象呢?这时候便有了计算图的产生,那么什么又是计算图呢,原创 2021-09-17 20:23:18 · 127 阅读 · 0 评论 -
pytorch-复习与例子
写在前面:学习pytorch也有一段时间了,一直都是在网上看别人的代码然后自己再敲一遍,把不理解的地方查找一下资料,但是总感觉缺点是什么,仔细思考一下整个过程,有点类似背代码的意思,这是非常要命的一点,所以今天就索性把这个在从头一点一点的利用晚上的时间再复习一边,我们先来创建一个简单的线性回归方程,y=wx+b,这是一个一元一次方程,有点基础就知道,,神经网络是一个求参数的过程,通过不断的寻找最优解,不断的寻找参数。我们要知道这个网络创建的一个过程,首先应该是干什么,我们的任务是什么,y=wx+b中原创 2021-09-16 21:32:38 · 107 阅读 · 0 评论 -
Pytorch反向传播中的细节-计算梯度时的默认累加
在查找资料的时候发现特别好的一篇文章,这里转载一下,好东西大家共同分享添加链接描述转载 2021-09-11 21:19:49 · 96 阅读 · 0 评论 -
Pytorch-学习笔记-模型训练实战
学这个也有两周了,现在跟着网上的视频,也该要尝试做一些实战性的东西了,不管能否成功,迈出第一步总是很艰难的,而且再训练的过程中我还有疑惑没有解决呢,下面我会把代码贴出来,然后注释每行代码的含义,希望大家都养成一个好习惯,贴代码的时候注释清楚每行代码的含义,不让你贴的这个代码只有你自己知道,感觉博主就跟傻逼没啥区别,废话不多说首先贴出网络模型#搭建神经网络import torchfrom torch import nnfrom torch.nn import Conv2d, MaxPool2d, F原创 2021-07-16 13:32:26 · 187 阅读 · 1 评论 -
pytorch-学习笔记-Sequential函数
Sequential这个函数很简单没啥要说的,我用两行代码解释可能比文字解释更直观import torchfrom torch import nnfrom torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequentialfrom torch.utils.tensorboard import SummaryWriterclass NNet(nn.Module): def __init__(self): super原创 2021-07-16 13:09:57 · 18706 阅读 · 4 评论 -
pytorch-学习笔记-网络模型的保存和修改
这是这周学习内容的总结,千里之行,始于足下我们下载了一个别人训练好的模型,有时候需要对这个模型做一些修改,那我们应该怎么操作呢?废话不多说,直接上import torchimport torchvisionfrom torch import nnfrom torch.nn import Linearvgg_16=torchvision.models.vgg16(pretrained=False)#加载模型print(vgg_16)#查看该模型train_data=torchvision.d原创 2021-07-16 13:04:26 · 189 阅读 · 0 评论 -
pytorch-学习笔记-反向传播
又到了一周一次的总结时间,还是老生长谈的话题,我首先来总结一下本周学习的内容,主要包括一下几点:损失函数和反向传播网络模型的保存和修改Sequential函数模型训练实战本篇主要总结损失函数和反向传播,其他的会在接下来的文章中总结。什么是损失函数?它的作用是啥呢?简单的来讲损失函数就是预测值与目标之间的差的平方,作用是用来衡量预测值与目标之间的误差,它们的差值越小代表模型效果越好。那么反向传播又是什么呢?首先一张32x32的图片会被首先处理成1x1024,然后对应的每个像素都有一个权重,放原创 2021-07-16 12:58:15 · 233 阅读 · 0 评论 -
pytorch学习笔记-DataLoader
DataLoader是一个读取数据的接口,该接口的目的是根据batchsize的大小,是否shuffle等封装成一个Batch Size大小的Tensor,用于后面的训练。官方给出的声明是:DataLoader是:数据加载,由数据集和采样器组成,根据你设置好的参数,DataLoader这个类就会开始对数据进行初始化操作,在传参的同时实例化对象,如下:test_loader=DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_worker原创 2021-07-09 11:50:27 · 182 阅读 · 0 评论