- 博客(19)
- 收藏
- 关注
原创 PaddleOCR windows c++部署
介绍 关于PaddleOCR的c++版本调用,网上的资料还是蛮多的,官方教程也算详细,不过多数教程貌似对应的paddleOCR或者paddlepaddle版本比较低了,所以在这里还是记录一下自己安装的过程。一. 准备VS2019社区版CMake 3.0+二. 配置2.1 PaddlePaddle C++ 预测库 首先需要下载PaddlePaddle的C++预测库,官方已经提供了很多编译好的库,直接找到需要的版本就可以了,官方链接在这里。我需要的是windows上CPU版本的库,所以选择
2021-09-16 17:29:32
7012
13
原创 opencv双目相机标定-示例代码分析
在这里我使用的是Learning OpenCV3的示例,本节使用的项目代码可以在这里下载到。一、运行示例 在下载完整个工程以后,按照工程使用说明,下载配置Opencv,运行VS2019项目即可。正常情况下,运行结果如下图所示:图1图2图3 图1显示了dos框输出的信息:计算stereo calibration以及误差。图2和图3和双目标定其实没有关系,图2显示的是rectify以后双目图像对齐的结果,图3是stereo match的结果,也就是disparity map。有多组图像
2021-06-14 03:19:03
3155
4
原创 opencv单目相机标定-示例代码分析
Opencv自带的sample code有关于camera calibration的示例代码,但是在这里我使用的是Learning OpenCV3的示例,在其代码基础上上稍微做了一点改动。之所以不用opencv自带的例子,是因为Learning OpenCV3的代码更加简单,可以更容易的抓住代码的核心。本节使用的项目代码可以在这里下载到。一、运行示例 在下载完整个工程以后,按照工程使用说明,下载配置opencv,运行VS2019项目即可。正常情况下,运行结果如下图所示: 上图显示了标定代码的
2021-06-13 01:34:59
1844
原创 Weighted Channel Dropout for Regularization of Deep Convolutional Neural Network
Dropout技术时常被提及,但更多的出现在FC层,下面文章是我翻译的一篇关于卷积层实现dropout的文章,虽然我也不觉得这篇文章提到的方法一定很好用,但是里面关于dropout技术的相关介绍还是值得看一看的。介绍 近年来,深度卷积神经网络蓬勃发展,显著的提升了各种视觉任务性能。CNN的成功很大程度上是因为他是由多个非线性隐含层构成的结构,这些隐含层包含数百万个参数,因此能够学习输入输出之间的复杂关系。然而,在训练数据有限的情况下,很可能出现过拟合,导致性能下降。 在之前的文献中,已经提出了
2020-12-13 19:10:28
433
翻译 搭建一个Quantize Aware Trained深度学习模型
什么是量化 量化是将深度学习模型参数(weights, activations和bias)从较高浮点精度转换到较少位表示的过程。为什么需要量化 可以将模型大小压缩4倍,如果TF核心模型大小为40M,则可以减小到10M。模型尺寸的减小使模型更加轻巧,从而减小了计算量,所需的内存更小,从而减小了延迟。量化后模型:占用更小的空间在带宽较低的网络上有更快的下载时间占用较少的内存,使模型拥有更快的推断速度,降低功耗对精度有一定的影响量化有哪些类型目前有两种类型的量化应用于深度学习模型:
2020-11-01 21:49:01
660
原创 加速CNN网络
一、简介 本文主要对目前常用加速卷积神经网络的方法做一个概述。 全连接层(Fully Connected Layer)是造成神经网络占用大量内存的原因,但是他很快;卷积层消耗了大部分算力,虽然参数更少。事实上卷积非常需要算力,这也是我们需要如此多的算力来训练网络的原因。 目前有多种加速卷积同时不严重影响模型精度的方法。在这片博客中,我们主要介绍下面几种:Factorization/Decomposition of convolution’s kernelsBottleneck Layers
2020-11-01 17:55:12
331
翻译 Tensorflow搭建GAN网络
生成对抗网络(GANs)是深度学习研究和开发中最活跃的领域之一,因为它们具有不可思议的生成合成结果的能力。在这个博客中,我们将通过一个具体的例子来构建基础的GANs。 GANs是深度学习研究和开发最活跃的领域,因为它们具有不可思议的生成合成结果的能力。在这篇文章中,我们将会搭建一个简单的GANs。接下来会从以下几个方面进行讲解:GAN工作的基本思想实现一个基于GAN模型,从一个简单的分布中产生数据可视化和分析GAN的不同方面,以更好地理解幕后发生的事情。生成对抗网络(GAN) GAN
2020-09-19 02:14:23
1495
1
翻译 C++类导出DLL
介绍 DLL允许用外部用户可以使用的显式C函数列表将一部分功能封装在独立模块中。1980年,当Windows DLL被推广到世界时,对广大开发人员来说唯一可行的选择就是C语言。因此,Windows dll自然将其功能公开为C函数和数据。在内部,一个DLL可以用任何语言实现,但是为了在其他语言和环境中使用,一个DLL接口应该回到最小的公分母——C语言。 使用C接口并不意味着开发人员应该放弃面向对象的方法。即使是C接口也可以用于真正的面向对象编程,但是它可能是一种冗长乏味的方式。C++与C语言相反,在C
2020-07-07 02:22:33
2158
原创 错误 LNK2001 无法解析的外部符号 class cv::Mat __cdecl cv::imread
问题错误 LNK2001 无法解析的外部符号 “class cv::Mat __cdecl cv::imread(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int)” (?imread@cv@@YA?AVMat@1@ABV?basicstring@DU?basic_string@DU?basicstring@DU?char_traits@D@std@@V?$
2020-06-04 21:55:11
11066
5
原创 多个dll路径设置-Windows
问题 我这里写的Windows上dll路径设置指的是visual studio编译链接dll的设置方法,并不是指运行程序时dll路径设置。前者可以通过设置环境变量以及vs添加环境解决,后者则一般通过把dll放到exe同级目录下或者放进system文件夹下(不提倡)。 我这篇简短的博客有什么特别的东西要说的呢,就是多个dll路径,比如同时要添加opencv,vtk,qt,可以通过添加环境变量,但是我不太想再往Path中添加路径了,已经很多了,还有一种办法就是设置VS。解决方法 VS菜单栏选择
2020-06-03 23:58:51
1521
原创 无法解析的外部符号 __imp__PathMatchSpec
问题 VS在链接gflags库时提示:无法解析的外部符号 __imp__PathMatchSpec解决办法 在VS菜单栏中选择项目->属性,然后在上图附加依赖项中添加shlwapi.lib
2020-06-03 23:24:08
2336
4
原创 dirent.h windows安装
简介 dirent.h是一个能够遍历文件和目录的API,通常unix系统会提供这个文件,但是VS缺少这个API。需要自己安装一下这个文件,关于这个文件的详细说明,可以点击查看链接。下载&安装 文件下载地址:官网下载地址 进入下载页面后选择最新的dirent.h文件,目前最新的是dirent-1.21.zip,下载完成后解压,将include文件夹下的dirent.h文件复制到VS安装目录下,比如VS2013,就复制到"VC\include"下面,VS2019则要复制到"\VC\Tool
2020-06-01 02:57:17
6603
1
原创 Win10命令行运行程序莫名停止
问题 以前用Windows命令行窗口跑批处理脚本的时候,偶尔会碰到程序运行一段时间以后就停住了,然后输入Enter就能继续跑一段时间,因为遇到的次数也不是很多,所以就忍耐了,没有专门找办法解决这个问题。但是最近跑pytorch训练模型的时候,因为程序运行时间很长,中间说不定就停住了,总不能一直看着,所以就专门在网上找了解决方法。方法 无论是cmd还是anaconda prompt,都可以通过取消快速编辑模式来解决上面的问题。具体设置方法:打开命令行窗口右键点击红色矩形框的位置,会弹出一些选
2020-06-01 02:43:01
3815
2
原创 TeXification failed with status code 1
今天装atom+latex,按照网上面的教程装好以后,找了一个例子,准备试试效果,但是当我按下ctr+alt+B后,却只返回给我 “TeXification failed with status code 1” 的错误,百度没有找到解决方法,后来就google,但是也没有找到原因,后来突发奇想是不是插件没有设置正确呢?于是就在网上找了一些关于atom插件设置的文章,主要就是一点: ...
2018-07-05 18:28:45
1816
原创 凸优化-基本概念
最近研究的问题涉及到比较复杂的凸优化知识,看了很多博客和书籍,收获颇多,但是还是有很多坎跨不过去,以前没感觉到,自己真的不比当年了。所以在这里还是要劝大家,青春宝贵,勿要荒废。 本篇主要是介绍一些凸优化的数学概念和定义,我觉得数学定义真的是数学的精华,如同物理里的定理一般。很多人学物理觉得很难,高中那会我也觉得,但是其实呢,我们花费了太多的时间去做题练习却很少花时间想想这些物理定理的本质...
2018-06-22 16:39:42
767
原创 C语言格式化输出
今天帮别人处理数据,发现数据中有uint64位的数据,用matlab读出来的数据感觉不对,所以又用C语言读出来看看,发现真的不一样,那么问题来了,究竟是哪个程序出错了呢? 本着编程直觉,我把查错重点放在了C语言程序上,一方面是我不确定我定义的uint64是否正确,另一方面printf函数输出格式化结果我也不确定是否正确。 首先测试uint64是否正确定义: printf(“...
2018-06-05 16:33:17
651
原创 OpenMP 使用小结
1.计时函数OpenMP有自己的计时函数:omp_get_wtime();#pragma omp parallel for num_threads(5) schedule(static) for (int i = 0; i &amp;lt; num; i++) { //Sleep(1000); for (int j = 0; j &amp;lt; tot...
2018-05-27 15:30:58
2016
原创 OpenMP设置线程数及开启方法
1. OpenMP线程数设置 通常我们希望并行线程数可以随着机器改变自适应的调整,网上介绍OpenMP的文章很多,但是很少提到该怎么分配线程数,一般来说线程数最大可以开到2*核心数,但是这样电脑计算资源就会被占用的过多,其他程序基本上会卡的不要不要的,所以我一般就设置线程为2*核心数-1。(1) 查看核心数: 上面是我电脑的CPU,在CPU使用记录中有四个框,说明这台电脑有...
2018-05-25 11:32:19
19979
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人