11 秦伟H

尚未进行身份认证

qw072117@foxmail.com ~~~~~有问必答~~~~~~~~~~~~~~本账号和什么培训的同名账号无关~!

等级
TA的排名 5k+

编译opencv2.4.13,编译opencv3,在opencv3以上环境中使用nonfree等模块,使用surf等,3.4.3为例

https://opencv.org/releases/page/3/原版压缩包,分zip和windows的exe。https://github.com/opencv/opencv/releases/tag/3.4.3 也是一个下载途径https://github.com/opencv/opencv_contrib/releases/tag/3.4.3 cont...

2020-02-21 17:13:19

图像快拼笔记与资料收集

opencv博客:这才是重点,这里包含了基础知识,也有图像快拼的实现https://www.cnblogs.com/skyfsm/category/1000207.html一篇图像快拼微创新论文——BSURF:http://www.doc88.com/p-7426381107599.html我个人的直觉,这就是用了SURF,改了一下数据类型(与之匹配的其他工作...

2019-12-31 11:02:39

sqlite3:锁机制、stmt加速、wal日志模式、多进程并发、写互斥

最近需要做sqlite的并发优化,会有一些多主机多进程的操作失败问题,所以学习一下,顺便为了翻阅,做一个笔记收集。未完成。。。。。。。。。。。。。。。。。。。to be continued目前只对我某时刻最关注的点做笔记,默认简单的就跳过了。工作和时间原因,顺序有些乱,可能随时遇到问题就插进去了。锁机制与事务类型https://www.cnblogs.com/l...

2019-12-23 20:17:02

python手写神经网络之用im2col实现卷积层、池化层

简介im2col就是img to colomn主,要是把图像转成column,原因和用途也很清晰,CNN中数据是四维的,并且有滑动窗口的存在,如果用for循环,计算效率不敢看。那么原理也很简单,展开、复制、向量化。但是从示意图到实现,还是有一个地方比较绕,所以我一下也没想到实现,还是看着参考代码分析了一下才明白。示意图:其实示意图可以写两种,不带batch的,...

2019-12-02 19:43:14

python手写神经网络之Dropout实现

这里写三种实现,一种是vanilla,一种是效率更高的写法,还有一种是作为网络层的实现方法。虽然dropout的参数叫probability,一般指的不是扔的几率,是keep的几率(因为代码更好解释?)。(但是不固定,注意一致性,自恰即可)vanilla dropout的前向传播网络示意:作为对照组,给出了predict不乘以p的结果,随着数据量或者数据维度的增大,可以看到最后总...

2019-11-24 21:56:44

python手写神经网络之BatchNormalization实现

也是来源于《深度学习入门——基于Python的理论与实现》附加代码,书中只是给了BN的对比结果,展示了BN的效果,没有再赘述实现,所以这里要重写复现BN的代码。之前我曾经使用过TensorFlow的BN,它提供了两三种接口,透明程度和使用方法不相同,有的是透明到你可以自定义参数并传给BN层,然后训练参数,也有只定义一个层,全自动使用的,但是都没有自己纯手写一个python实现更透彻。而且Tens...

2019-11-24 14:27:02

python手写神经网络之权重初始化——梯度消失、表达消失

基于《深度学习入门——基于Python的理论与实现》第六章,但是书上只有一段基础的展示代码,和一些刻板结论(xx激活用xx优化),没有太多过程分析,所以自己进行了扩展与实验,加入了激活前后的对比,和不同激活函数不同系数等等的对比。关于权重初始化的理解:在一个默认的情况下(w高斯分布初始化,sigmoid激活,x是一个1000*100的高斯分布的随机matrix),会产生这种两头...

2019-11-23 01:04:13

python手写神经网络之优化器(Optimizer)SGD、Momentum、Adagrad、RMSProp、Adam实现与对比——《深度学习入门——基于Python的理论与实现(第六章)》

vanila SGD先不写了,很简单,主要从Momentum开始。老规矩,先手写,再对照书本:其实这个还真难手写出一样的,尤其v的初始化,我就没想到他怎么做。他默认了很多规则在里边,他的v没在init初始化,也不能动态,二是在第一次update时定型。其他方面,有些地方k、v对,其实用k或者v都能达到效果,就不赘述class Momentum(): def __...

2019-11-20 20:53:11

python手写神经网络之手动微分与梯度校验——《深度学习入门——基于Python的理论与实现(第五章)》

下面内容,算是一个debug过程,但是也算是一个学习过程,了解梯度校验的过程和影响微分梯度计算的因素。下边是根据书本模仿的两层网络,并非抄原代码,所以有所不同,但是我主观觉得差不多(有几个接口暂不列出),但是代码不是敲出来不报错就行了,这个既然是两种梯度,那就肯定是用来梯度校验的,既然是梯度校验,那当然得真校验一把才行啊。两层网络(784,50,10)。网络全随机,不训练,从mnis...

2019-11-19 21:14:50

python实现微分函数,两种计算方式对比,一个误区

v1是f(x+h)-f(x)的版本,不加后缀的版本是f(x+h)-f(x-h)的,就是所谓左右两侧更精准的那个版本,但是做对比的时候,直觉上有些问题存在,如果是f(x)=x**2,是变化的斜率,左右两侧同时计算差值是可能带来更精准的计算,但是永远都是么?f(x)=2*x呢?f(x+h)-f(x-h)和f(x+2h)-f(x)有什么区别?所以就有了v1_2版本和不加后缀版本函数的对比#http...

2019-11-01 15:23:59

【有视频】通过观察deep dream的一些细节直观了解卷积神经网络

使用deep dream做了很多图,从中确实能直观地学到一些东西。下面是自己做的视频,使用不同通道生成了一些图形,并对比了不同的迭代次数下生成的图片。https://www.bilibili.com/video/av65825597/https://www.bilibili.com/video/av65882277/https://www.bilibili.com/video/av...

2019-08-30 11:23:42

手写softmax cross entropy的反向传播推导过程以及反向传播代码。

如图,共两部分,softmax一部分,cross-entropy一部分,a1、a2、a3是输入,y1、y2、y3是softmax的输出,t1、t2、t3是label,图中右侧输出Loss=cross entropy,输入gradient=1。正向传播和反向传播基本规则(可以参考cs231n的教程):正向就是正常运算,没什么说的,正向的多对一操作,求和,正向的一对多,每一条线都传播同样的...

2019-08-29 16:11:57

scipy.misc import 'imread' 导入失败解决方法 python3!!!

fromscipy.miscimportimreadImportError:cannotimportname'imread'三个点:一,需要依赖Pillow;pipinstallpillow二,如果自己要用,可以从matplot等借。frommatplotlib.pyplotimportimread三,新版抛...

2019-08-24 00:27:23

LeetCode:43 multiply 大数乘法的数学直观理解

leetcode上遇到的题。我们学了那么多年的数学,做了那么多年的乘法,却不曾仔细总结其中的规律,至少是没有用这种程序化的逻辑概括过。这个计算过程想想也是很有意思,还是总结下。以15*15=225为例:个位数是5*5=25,留5,进位2.十位数稍微复杂点,有两个乘法都是以他为底,并且他还可能从个位得到进位,还需要进位给百位。百位至少在本例简单点,1*1是不用再进位了,...

2019-03-25 16:58:23

tensorflow 样本均衡问题和权重损失 交叉熵

实际训练神经网络常会遇到数据不均衡问题,数据不均衡会影响模型训练效果,可以使用权重来纠正。数据不均衡对应的原理也很简单,当一个数据不足或者过多时,模型瞎猜也能获得很高的准确率。1%的正例,99%的负例,全选负,准确率99%。自己改造mnist,进行样本均衡试验使用mnist进行训练,将训练集进行处理,指定一个分类,删除大部分样本。测试集不变,但是为了对比,测试时可以分类进...

2019-03-18 03:37:03

tensorflow tensorboard使用方法、应用场景和常见问题

详细介绍:基础操作两方面:第一方面:“制作”各种标量、记录节点,图标、图片等的记录汇集,sess.run从计算图得到一次汇集的记录。关于sess.run(merged),可以把这个也当做计算图中得到了一个结果,只是不同用途。既然是计算图,就少不了要feed数据,feed的数据不同,得到的结果也就不同,如果使用了错误的feed数据,很可能得到的绘制结果也不符合预期,下边...

2019-03-09 19:51:01

TensorFlow中EMA的概念和正确使用方法

目录EMA介绍概念弥补不足:初始数据积累不足的情况深度学习训练中的作用实现典型步骤一个EMA影子变量的例子进一步接近真实情景,让w1变动例2:global_step的trainable设置最后,怎么用影子变量来测试?模拟训练与存储模型错误的模型读取方式正确的模型读取方式补一发手写的映射通用写法EMA介绍概念滑动平均exponent...

2019-03-06 17:05:53

win7-64安装anaconda4.6.7+cuda9.0+cudnn7.0+tensorflow-gpu1.5.0(1.9.0)+pycharm+jupyter+tensorboard+keras

学习的话,用linux还是比较好,但是双系统虚拟机跑的话只能用CPU,太慢了,所以还是要装windows,用上我的两块GPU。因为是照着别人的搭配选择的版本,整体来说比较简单,除了一些网络问题和等待,没太大的阻碍,比linux下默认自带python3的anaconda弄需要python2的caffe简单多了(手动滑稽)。过于详细的流水教程就不写了,网上很多了,主要列一些自己遇到的坑。...

2019-03-04 17:30:51

Tensorflow中BatchNormalization用法详解

目录概要:为什么引入BN为什么如果gamma和beta默认1和0,最终输出等于原样不变?关于为什么直接用mean和var做normalize就解决分布问题,还要经过scale和shift进行转换的问题关于这个BN如何被训练到根据说明文档可知,无论用哪种实现,training阶段的选择都要有:重中之重:无论接口白盒黑盒,BN操作需要使用依赖关系来完成滑动平均的更新BN...

2019-03-02 00:58:32

tensorflow生成随机数据

基础接口:用来生成随机数,可以指定均值和方差。相比简单拿来用,调一下参数,生成数据并生成图形观察对比一下, 对于直观理解数据和神经网络训练还是有帮助的。对比tf.random_normal,数据限制了范围,离群点更少,常用于神经网络参数初始化或者生成一些训练数据。weights一般要接近0但是不是0,比较方便train,所以用truncated可能优于普通random...

2019-02-23 19:37:15

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。