自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (3)
  • 收藏
  • 关注

原创 常见CNN网络创新点

这篇文章主要介绍卷积神经网络1998年到2019年的20多种经典的网络,体会每种网络的前世今身以及包含的深邃思想。算是一个总结性的博客吧。。。一、1998年:LeNet1988年,Yann LeCun(深度学习三巨头之一,2019年获得图灵奖)提出了用于手写字符识别的卷积网络模型LeNet5。其原理结构比较清晰,如图所示。当年,美国很多企业都采用了该模型用于识别现实场景中的数字,例如邮政编码、手写数字等,能够达到商用的程度,可见其在AI领域的开创性地位。在论文中,LeNet5被用于识别MNIST

2020-06-30 20:38:35 3226

原创 常见的机器学习相关评价指标

在使用机器学习模型的过程中,我们不可避免都会碰到如何评价我们模型到底是好还是坏?或者我们再看别人论文时,总会遇到一些比如:“准确率”、“召回率”之类的东西。博主记性不好总是忘记傻傻的分不清,总是搞混。所以,在这记录下一些常见的评价指标。分类器在测试集数据集上预测或正确或不正确,总共会出现四种情况TP: true positive—将正类样本预测为正 TN:true negative—将负...

2020-06-25 20:53:13 1290

原创 LAST论文翻译

我们提出了一种具有线感知能力的半自回归变换器(LAST),它将多线数学表达式序列视为二维双端结构。该LAST利用线向双端解码策略并行解码多线数学表达式,并在每行内执行双端解码。具体地说,我们引入了一个线感知位置编码模块和一个行分区双端掩码,以赋予LAST线顺序感知和方向性。

2023-11-17 11:07:49 226

原创 SAM论文翻译

目前的方法不能明确地学习不同符号之间的相互作用,当面对相似的符号时可能会识别错误。为了缓解这个问题,我们提出了一种简单而有效的方法来增强语义交互学习(SIL)。具体来说,我们首先构造了一个基于统计符号共现概率的语义图。然后设计了一个语义感知模块(SAM),它将视觉和分类特征投射到语义空间中。不同投影向量之间的余弦距离表示符号之间的相关性。联合优化HMER和SIL可以提高模型对符号关系的理解。此外,SAM可以很容易地插入到现有的基于注意力的HMER模型中。

2023-09-07 17:32:08 276

原创 nvidia-nccl2 is not installed correctly on your system. please follow instruction on https://github.

【代码】nvidia-nccl2 is not installed correctly on your system. please follow instruction on https://github.

2023-07-19 10:23:23 283

原创 PARSeq论文翻译

PARSeq通过排列语言建模来学习具有共享权重的内部自回归语言模型的集合。它统一了上下文无关的非自回归和上下文感知的自回归推理,并使用双向上下文的细化迭代。

2023-06-02 10:36:49 816

原创 CoMER论文翻译

我们提出了一种新的注意细化模块(ARM),在不影响其并行性的情况下,利用过去的对齐信息来细化注意力权重。此外,我们通过自我覆盖和交叉覆盖,将覆盖信息发挥到极致,它利用了当前和过去的对齐信息。

2023-01-03 18:08:32 449 1

原创 CAN论文翻译

我们为手写字识别设计了一个叫做CAN的网络,这个网络加入了两个优化任务:手写公式识别和符号计数。具体来说,我们设计了一个弱监督计数模型,这个模型不需要符号位置也能预测符号的个数,然后将其插入到编解码结构的手写公式识别模型中。在HMER的基准数据集上的实验验证表明,联合优化计数模型和手写公式模型,利于纠正编解码器模型的预测误差,并且CAN始终优于当前最先进的方法。特别是,与HMER的编解码器模型相比,所提出的计数模块所造成的额外时间成本是边际的。

2022-10-25 19:26:11 844

原创 BTTR论文翻译

代码地址:https://github.com/Green-Wood/BTTR本文采用基于transformer的解码器代替基于RNN的解码器,使整个模型体系结构更加简洁。此外,还引入了一种新的训练策略来充分利用transformer在双向语言建模中的潜力。现存的方法在不同程度上存在覆盖范围缺乏的问题。这个问题主要由两种表现形式:过度解析和解析不足的问题。过度解析意味着HME图像中的某些区域被多次冗余翻译,而不足解析则表示某些区域仍然未翻译。大多数编-解码模型都是基于RNN的模型,它们很难建模出相距很远的两

2022-06-19 22:49:40 1135 1

原创 ABM论文翻译

项目地址:https://github.com/XH-B/ABM本文提出一种基于双向交互学习的注意力聚合模型(ABM),这个模型由两个并行且方向相反的编码器(L2R和R2L)组成。这两个编码器通过相互蒸馏,使得在每一步一对一信息传递的训练中,两个方向的互补信息被充分利用。另外,为了处理不同尺度的数学符号,本文提出了注意力聚合模型(AAM),这个模型能够聚合不同尺度下的注意力。值得注意的是,在推理阶段,考虑到模型已经从两个方向学习知识,所以只使用L2R部分的分支进行推理,这样能够保持了原始参数的大小和推理速度

2022-06-14 09:03:18 674

原创 深度学习分类优化实战

文章目录一、优化策略1、CIFAR-100 数据集简介2、模型评估指标3、数据!数据!数据!3.1、数据增强3.2、数据分布4、模型选择5、模型优化5.1、学习率选择5.2、优化器选择5.3、学习率更新策略选择5.4、loss选择6、整体思路二、pytorch实战近期做了一些与分类相关得实验,主要研究了模型有过过程中的一些优化手段,这里记录下,本文对相关模型和算法进行了实现并运行测试,整体来说,有的优化手段可以增加模型的准确率,有的可能没啥效果,总的记录如下文。本文使用得数据集为CIFAR-100 。代

2022-05-23 15:04:05 841

原创 基于python计算曲线的曲率

文章目录一、实现原理1.1、计算点到直线的距离——海伦公式1.2、弓高和弦长计算半径二、python实现曲率计算最近需要对曲线的曲率做一个粗略的估计,在此记录下。其实计算曲率就是为了求这段弧长对应的半径,也就是说,我们把曲线看成圆的弧长就行,那么问题就简单了。一、实现原理1.1、计算点到直线的距离——海伦公式如下图所示,要计算A到CB的长度。设Δ\DeltaΔABC的三条边分别为a,b,c,那么海伦公式计算面积S如下:S=p(p−a)(p−b)(p−c)其中:p=12(a+b+c)S=\sq

2022-01-07 11:29:15 8823 6

原创 基于python人脸光照不均匀数据的制作

文章目录一、人脸光照迁移原理二、python实现人脸光照迁移近期的主要工作是做人脸光照的质量评估。本来想着使用传统的基于分块+方差的形式来做,这种方法有一定的局限性,不能适应所有情况。然后,github找到一些相关项目,使用深度学习的方法实现的。FIIQA-PyTorchFIIQA高高兴兴,跑起来,发现完全不行啊。下载的数据只有3类,结合github上200类,这个有点差距。所以想着自己制作,参考论文如下:Face Illumination Transfer through Edge-pres

2021-12-09 17:02:59 3452 1

原创 机器学习理论学习:感知机

文章目录机器学习理论学习:感知机一、感知机模型二、感知机的学习策略三、感知机学习算法3.1、感知机算法的原始形式3.2、感知机算法的对偶形式机器学习理论学习:感知机感知机 (Perceptron)是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1。感知机对应于输入空间(特征空间)中将实例划为正负两类的分离超平面,属于判别模型。感知机预测是用学习得到的感知机模型对新的输入实例进行分类,是神经网络与支持向量机的基础。强烈推荐以下参考链接,讲的非常详细。参考连接:机器学习——感

2021-11-15 22:59:42 1446

原创 基于python的人脸图片压缩

文章目录一、Windows 配置libjpeg-turbo1.1、vs2019上测试jpeg算法二、安装PyTurboJPEG库2.1、修改PyTurboJPEG库配置2.2、安装PyTurboJPEG库三、使用PyTurboJPEG库近期眼研究图片的压缩方法,发现JPEG算法解密这篇博客,讲的非常好。打算用python实现下相关算法。一、Windows 配置libjpeg-turbo参考链接:Windows 配置libjpeg-turbo并在python中调用根据上述链接可以在windows上配置

2021-11-05 18:01:12 2705

转载 【深度学习系列(八)】:Transoform原理及实战之原理篇

tranformer文章目录tranformer[1 模型结构概览](https://datawhalechina.github.io/dive-into-cv-pytorch/#/chapter06_transformer/6_1_hello_transformer?id=_611-模型结构概览)[2 模型输入](https://datawhalechina.github.io/dive-into-cv-pytorch/#/chapter06_transformer/6_1_hello_transfor

2021-10-17 16:44:09 1214

原创 python实现汉字的拐点计算

文章目录一、线段曲率计算原理二、线段拐点提取流程三、python实现拐点的提取3.1、曲线的点的平滑3.1.1、一次贝塞尔曲线拟合3.1.2、二次贝塞尔曲线拟合3.2、拐点的计算3.2.1、Bending value的计算3.2.2、判断三点是否在同一条直线上3.2.3、计算拐点一、线段曲率计算原理一般的曲率计算方法,如玄长比例法、三次B样条表达、线性多边形逼近和局部对称等方法。今天主要介绍**弯曲值算法(Bending value)**算法。其表达式为:bik=max(∣(xi−k−xi)+(xi+

2021-07-20 21:16:27 835 3

原创 win10+vs2017+denseflow编译

由于要训练自己动作识别模型,所以需要制作相关数据集,其中就是要制作光流数据,尝试使用传统opencv来做,发现速度太慢。最后找到denseflow库,于是在此记录在win10下的安装过程。文章目录一、安装依赖1.1、CUDA1.2、OpenCV1.3、Boost二、Cmake编译2.1、生成可编译文件sln2.2、编译生成`denseflow.exe`一、安装依赖1.1、CUDACUDA (driver version > 400)这里默认已经安装,搞深度学习安装pyTorch/Tens

2021-07-08 18:58:11 1084 2

原创 基于onnxruntime的YOLOv5单张图片检测实现

pytorch的前向推理,但是这个推理过程需要依赖yolov5本身的模型文件以及结构搭建的过程,所以还是比较麻烦的。这里,有没有一个直接前向推理,然后只处理结果,无需考虑yolov5本身的文件。所以现在介绍的是基于onnx的推理。这个推理过程也很简单,将原模型转化为onnx格式,然后再使用onnxruntime进行就可以了

2021-05-12 12:07:07 10574 29

原创 基于pytorch的YOLOv5单张图片检测实现

当我们训练完yolov5模型后,如何使用这个模型呢?这里简单写一下,可以看到大部分代码在detect.py中都可以找到,算是我自己对这个代码的改装吧,有需要的可以看看。

2021-05-11 17:04:45 3790

原创 win10 Hive运行beeline过程中的错误总结

1、错误一:‘beeline’ 不是内部或外部命令,也不是可运行的程序或批处理文件。错误原因:缺少beeline.cmd文件解决方法:从之前版本中找到beeline.cmd并拷贝到Hive安装目录的bin目录下从hive-2.1.0之后就不再提供beeline.cmd文件,[下载Hive-2.1.0]并复制相关文件到对应文件夹。当然,win10下对于找不到hive命令也同样有效,解决方法也类似2、错误二:Exception in thread “main” java.lang.NoClassDe

2021-04-26 01:24:39 2444

原创 使用百度网盘上传数据到服务器上

文章目录一、安装环境二、登录百度网盘并授权三、创建文件夹并上传或下载数据一、安装环境pip install requests && pip install bypy二、登录百度网盘并授权安装好之后,我们在终端中运行如下指令bypy info使用刚刚复制的链接打开网页后,点图中 复制授权码 复制好授权码之后,粘贴到刚才的终端窗口中,按回车确认。这样我们就可以在百度网盘上看到我们创建的文件夹了三、创建文件夹并上传或下载数据我们可以创建一个专用的同步文件夹方便管理数

2021-03-28 17:06:07 3228 2

原创 Zookeeper基础知识

文章目录一、概述二、特点三、命令3.1、Win10安装Zookeeper3.2、在cmd上操作Zookeeper四、节点信息五、java操作zookeeper实现5.1、创建Maven工程,并配置环境5.2、创建java代码一、概述Zookeeper是Yahoo!(雅虎)开发后来贡献给了Apache的一套用于进行分布式管理和协调的框架Zookeeper本身仿照了Google的The Chubby Lock来进行设计的Zookeeper提供了中心化服务,包括:统一配置、统一命名、提供分布式锁以及提供

2021-03-24 00:00:16 389

原创 图片数据爬取工具Image-Downloader的安装和使用

文章目录1、python安装2、下载chromedriver并配置3、下载phantomjs并配置.4、安装相关python库5、使用安装包地址:https://github.com/sczhengyabin/Image-Downloader下载:方式一:打开cmd,输入:git clone https://github.com/sczhengyabin/Image-Downloader.git方式二:打开网址1、python安装该数据爬取工具要求python>=3.5,由于

2021-03-17 13:11:17 4952 7

原创 SpringBoot进阶

文章目录1、全局配置文件2、Mybatis持久层整合springboot2.1、pom.xml引入持久层依赖2.2、准备全局配置属性2.3、开发持久层代码3、SpringBoot访问静态文件4、SpringBoot项目的发布运行4.1、引入必须的插件4.2、打包4.3、运行1、全局配置文件properties例子:server.port=8090server.servlet.context-path=/demo01yml2、Mybatis持久层整合springboot2.1、pom

2021-01-30 15:36:54 116

原创 一种基于Opencv文档图像增强算法的实现

文章目录1、基于划分模式的图像增强2、基于c++ OpenCV的实现3、辅助增强算法因为项目需要对文档图像进行增强,也就是对于模糊、亮度偏暗或不均匀的文档进行处理方便后续的识别。传图图像增强方法主要分为两方面:空间域和频域。空间阈中增强方法,颜色的增强,如:直方图均衡化,对比度以及gama增强等;模糊,如:均值滤波等;锐化,如:局部标准差实现对比度增强。频域方法,如:小波变换,在图像的某个变换域内,对图像的变换系数进行运算,然后通过逆变换获得图像增强效果。一般来说,对于实际项目中,可能用其中一种或几种方法

2021-01-14 23:58:20 3280

原创 SpringMVC细节

文章目录1. @RequestMapping()2. 请求参数的获取3. 日期数据处理4. 文件上传5. 路径动态数据获取(RESTFul风格的请求参数处理)1. @RequestMapping()基本使用通过注解的方式实现路径到处理器方法的映射可以使用的类和方法上。用在方法上表示该方法变为一个处理器,且和指定路径做映射;又在类上表示配置的路径作为这个类中所以处理器的父路径使用。@Controller@RequestMapping("")public class UserControlle

2021-01-09 14:49:13 229 5

原创 win10下在vs2015上进行yolov5 TensorRT加速实践

文章目录1、安装环境2、生成yolov5s.wts文件3、vs2015环境搭建4、TensorRt加速实现1、安装环境CUDA10.2TensorRT7.2OpenCV3.4(工程中已给出,不需安装)vs20152、生成yolov5s.wts文件在生成yolov5s.wts前,首先需要下载模型。同时,需要我们安装ultralytics/yolov5环境。这里可以参考网上其它文章或github教程进行配置安装,这里不详加说明。将tensorrtx-master\yolov5文件夹下的ge

2020-12-21 01:05:53 3823 42

原创 java+Spring实现IOC(DI):控制反转(依赖注入)

一、Spring1.1、概述Spring是一个Service层框架,可以整合其它许多框架。Spring的主要技术:IOC(DI):控制反转(依赖注入)AOP:面向切面编程1.3、IOC(控制反转)将对象的创建和及对象的生命周期管理过程交给Spring框架来处理,开发过程不再关注对象的的创建和生命周期的管理。创建过程中Spring可以根据配置对象属性进行设置,这个过程也叫做依赖注入,即DI。1.3.1、IOC实现原理<?xml version="1.0" encoding="UT

2020-12-14 00:54:28 159

原创 TensorRT加速原理

TensorRT能够加速的原因主要有两点,一方面是支持INT8和FP16的计算;另一方面是对网络结构进行了重构和优化。TensorRT支持INT8和FP16的计算深度学习网络在训练时,通常使用 32 位或 16 位数据。TensorRT支持kFLOAT(float32)、kHALF(float16)、kINT8(int8)三种精度的计算,在使用时通过低精度进行网络推理,达到加速的目的。TensorRT对网络结构进行了重构和优化TensorRT对网络结构进行重构,把一些能合并的运算合并在一起,

2020-12-03 16:16:24 3124

原创 c++ jsoncpp中文和\uXXXX使用toStyledString生成字符串中文乱码解决方案

一、中文乱码解决方法1.1、乱码展示在使用jsoncpp解析含有中文的字符串的时候,使用toStyledString()函数生成的字符串中的中文部分将变成\u加4个16进制数字会出现解析乱码的情况。比如:1.2、乱码原因及解决方法jsoncpp的源码来分析(官方下载地址:http://sourceforge.net/projects/jsoncpp/files/)。通过分析StyledWriter的writeValue函数发现他对字符串的处理通过valueToQuotedStrin.

2020-11-05 10:56:57 5920

原创 基于pymupdf的PDF的文本、图片和表格信息提取

由于工作需要提取pdf中的相关信息,查到pymupdf这个工具。官方文档中介绍说“轻量级PDF,XPS和电子书查看器”。通过使用来情况来看,该库使用起来比较方便,而且功能强大,基本能够满足目前的工作需要。

2020-10-27 11:42:33 7030 6

原创 IDEA导入MySQL的jdbc驱动出现“java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver”

当我们在idea中使用java操作mysql数据库时会出现:Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun...

2020-10-19 10:36:33 10082 8

原创 【算法系列(七)】:回溯

解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题:1、路径:也就是已经做出的选择。2、选择列表:也就是你当前可以做的选择。3、结束条件:也就是到达决策树底层,无法再做选择的条件。...

2020-09-15 10:38:54 255

原创 【算法系列(六)】:字典

字典是通过 Key/Value (键值对) 的形式来存放数据;该类最大的优点就是它查找元素的时间复杂度接近 O(1),实际项目中常被用来做一些数据的本地缓存,提升整体效率。

2020-09-09 11:54:12 538

原创 【算法系列(五)】:集合

集合技术在解题中主要用于处理有数据重复出现的问题。这里直接看leetcode题库的实例来感受下吧。。。一、算法应用349. 两个数组的交集题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]解题思路直接利用集合这种结构c++代码实现vector<int> i

2020-09-08 09:53:58 303

原创 【算法系列(四)】:双指针

一般双指针算法主要分为两类:(1)快慢指针(2)左右指针。前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。快慢指针:快慢指针一般都初始化指向链表的头结点 head,前进时快指针 fast 在前,慢指针 slow 在后,巧妙解决一些链表中的问题。 左右指针:左右指针在数组中实际是指两个索引值,一般初始化为左指针指向数组首地址,尾指针指向数组尾部。另外,左右指针的另一种进阶用法叫做滑动窗口算法。这是双指针技巧的最高境界了,此类算法主要.

2020-09-07 16:06:42 224

原创 【算法系列(三)】:查找

一、查找表考虑的基本数据结构,主要分为以下几种情况:第一类: 查找有无--set例如:元素'a'是否存在,通常用set:集合。set只存储键,而不需要对应其相应的值。set中的键不允许重复。第二类: 查找对应关系(键值对应)--dict元素'a'出现了几次:dict-->字典。dict中的键不允许重复。第三类: 改变映射关系--map通过将原有序列的关系映射统一表示为其他1.1、算法应用349. 两个数组的交集 题目描述 给定两个数组nums,求两个数组的公共元

2020-08-26 07:28:39 220

原创 【算法系列(二)】:动态规划

一、基本思想动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。动态规划往往用于优化递归问题,例如斐波那契数列,如果运用递归的方式来求解会

2020-08-22 18:19:19 287

原创 【算法系列(一)】:分治

主要思想:分治算法的主要思想是将原问题递归地分成若干个子问题,直到子问题满足边界条件,停止递归。将子问题逐个击破(一般是同种方法),将已经解决的子问题合并,最后,算法会层层合并得到原问题的答案。分治算法的步骤:分:递归地将问题分解为各个的子问题(性质相同的、相互独立的子问题);治:将这些规模更小的子问题逐个击破;合:将已解决的子问题逐层合并,最终得出原问题的解;分治法适用的情况:*原问题的计算复杂度随着问题的规模的增加而增加。*原问题..

2020-08-18 20:35:36 1198

resnest50-528c19ca.pth

https://s3.us-west-1.wasabisys.com/resnest/torch/resnest50-528c19ca.pth模型下载

2021-12-02

yolov5_Trt.rar

vs2015使用TensorRT加速yolov5所需的库文件

2021-03-30

opencv4.4_ippicv_ffmpeg.rar

windows下cmake编译OpenCV4.4.0时,FFmpeg或ippicv下载,包括:opencv_videoio_ffmpeg.dll、opencv_videoio_ffmpeg_64.dll、ippicv_2020_win_intel64_20191018_general.zip

2020-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除