自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绝望的乐园

在哪个世界都是一样的.....人们都是笑着,哭着,然后死去.....

  • 博客(448)
  • 资源 (1)
  • 收藏
  • 关注

原创 辛普森悖论

辛普森悖论是一个很有趣的统计学现象。对于研究某个事物的性质时,进行分组研究,分组的结果和总计的结果会产生截然相反的结论。这违背人类直觉,但从逻辑上却无可挑剔。当人们尝试探究两种变量(比如新生录取率与性别)是否具有相关性的时候,会分别对之进行分组研究。然而,在分组比较中都占优势的一方,在总评中有时反而是失势的一方,这种现象被称为辛普森悖论。看个例子,现在有两个餐厅,Carlo’s餐厅和Sophi...

2020-04-20 13:04:28 1334 1

原创 Python3 使用Websocket通信

这篇文章写一下python如何使用websocket通信,包括server和client部分。Websocket Server尝试了一下:https://github.com/aaugustin/websockets ,git上star最多的,但是个人用着不是很舒服,大家有兴趣可以看看。后面用了一下:https://github.com/dpallot/simple-websocket-se...

2020-04-17 10:24:12 6210 1

原创 非酋如何计算花多少钱才能抽到SSR

心血来潮,打算写一写抽奖的问题,目前,国家政策规定网游必须公布抽卡的概率,然而公布了概率对玩家就有用了吗?公布了概率就能提高中奖率?抽卡类的游戏有时候真的有可能令玩家怀疑人生,为什么自己抽了好几千块,什么橙卡、什么SSR,什么限定皮肤,毛都没有,网上的欧皇们随便花几块就能抽中?为什么网游公司就盯着咱兜里的几千块钱不放?公布了抽卡概率,我们就可以算一下究竟花多少钱,我们才能抽到大奖,希望大家看完,...

2020-04-16 10:15:06 1544 1

原创 简单易懂的主成分分析(PCA)

PCA(Principal Component Analysis)是一种矩阵压缩的算法,在数据分析和机器学习等很多方向都有着应用。这篇文章的主要目的是将这个算法的原理讲的简单易懂,网上很多讲PCA的文章,但是大部分讲的并不够朴素,用了很多公式,很多图解和专有名词,但是在我看来,这些东西并不一定能降低理解这个算法的门槛。所以,这篇文章可能不会有特别严谨的数学推导,我会尽量使用符合人类直观理解的方式来...

2020-03-29 15:57:41 1006

原创 简单易懂的特征值与特征向量

特征值与特征向量是线性代数中一个很基础的知识,但是很多人对这两个概念没有一个直观的概念,从直觉上,很难理解这两个东西,只知道公式,但是不知道它代表的意义。当年上现代课的时候,老师根本不会去讲这些东西,只是把公式写出来,各种推导,看的人头疼,最后索性也不去理解了,直接背下来,现在想想,体验实在糟糕,我写这篇文章希望能够帮到对这两个概念有疑惑的小伙伴。当然,为了理解特征值与特征向量,首先要对线性代数...

2020-03-14 12:08:19 3133 2

原创 html5 全缓冲

最近暂时换了个网络环境,网速有些慢,看b站的时候总卡,有点头疼,现在的html5视频播放器不能把视频全部缓存,而是根据当前的进度缓存后面一分钟。也就是说,即是你暂停等待缓冲,最多也只能缓存一分钟的视频,没办法缓存一大段视频然后再看。所以我研究了一下,是否能够做到把视频全部缓存,然后再看。先说结论,暂时看来是没有个完美的方案,有个方案可以做到,但是却不能用高分辨率。关于DASHGoogle改变...

2020-01-27 00:01:32 2726

原创 论文阅读: Character Region Awareness for Text Detection (CRAFT)

简介论文链接:https://arxiv.org/abs/1904.01941这篇论文的主要是解决文本检测的问题,思路是利用分割的方法,与图像分割有些不同的是,CRAFT不是对整个图像进行像素级分类,而是做了回归,它有两个分支,一个是目标是字符的中心的概率(这里用概率可能不是很准确,或许说是距离字符中心的距离更好一些),另一个是字符之间的连接关系,然后经过一步后处理,得到文本的边界框。网络结...

2019-06-02 16:28:16 7033 8

原创 tfrecord读写数据

tfrecord 的读写数据是真的麻烦,各种不方便,而且还有些坑,不太想讲这个东西,所以这里就打算写个简单的读写模板,可以作为参考。其实写tfrecord本质只有三个类型: bytes,int64,float。所以我们要保存的数据就转成这三种类型就行了。另外,这几种类型的数据都是一个list的形式,并且不支持多维数组,如果想要的数据是多维的,那就要转成1维,再读进来以后再转回去。还有一点是变...

2019-05-17 15:12:49 1262

原创 对 Spatial Transformer Networks(空间变换网络) 的思考

论文地址: https://arxiv.org/abs/1506.02025这几天看了下stn,大概写一写吧。说实话,这个东西思想倒是蛮有意思的,但是实际用起来效果不好说,至少在我想要应用的场景下效果不怎么样。这里先写论文的思路,再写一下我做的一些实验与相应的思考。STN 目标我们知道,CNN推动了计算机视觉的发展,但是还是有一些缺陷。在“Visualizing and Understan...

2019-05-07 14:55:57 1731 6

原创 pytorch如何在测试的时候启用dropout

我们知道,dropout一般都在训练的时候使用,那么测试的时候如何也开启dropout呢?在pytorch中,网络有train和eval两种模式,在train模式下,dropout和batch normalization会生效,而val模式下,dropout不生效,bn固定参数。想要在测试的时候使用dropout,可以把dropout单独设为train模式,这里可以使用apply函数:def...

2019-04-06 09:51:23 13841 7

原创 LSTM 详解

这篇文章打算讲一下LSTM,虽然这类文章已经很多了,但以前刚开始看的时候还是一知半解,有一些细节没有搞清楚,我打算借这篇文章好好梳理一下。前言在许多讲LSTM的文章中,都会出现下面这个图。Alt text说实话,这个图确实很清晰明了(对于懂的人来说)。在很多文章中我都发现了这样的问题,有的时候,对于已经明白的人,一些很“显然”的问题就被忽略了,但是对于刚入门的人来说,一些基础的问题却要搞...

2019-03-17 22:10:57 103413 26

原创 解决 THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument

如题,原因是显卡用的RTX 2080Ti,CUDA就要装10以上,这个时候pytorch不能直接用pip装,要这样:pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl源码装应该也可以。...

2019-01-31 16:26:37 35069 6

原创 Ubuntu18.04 + RTX 2080 Ti 安装NVIDIA显卡驱动的一些坑

记录一下踩到的坑。一般情况下,驱动装好了,可以用下面的命令来查看显卡状况:nvidia-smi当成功弹出下面的内容的时候,说明驱动装成功了:安装驱动的方法我这里就不写了,可以参考一下:https://blog.csdn.net/weixin_40859436/article/details/83152249http://www.52nlp.cn/从零开始搭建深度学习服务器环境配置u...

2019-01-30 17:17:59 14773 3

原创 python3 判断是否为中文,打印范围内字符

有的时候需要判断某个字符是不是中文(英文,日文……),但是不可能吧所有字符都列出来,看字符是不是在里面。这个时候可以根据unicode编码的范围来判断是哪个语言,比如,中文的范围是4e00~9fa5。其他字符的范围可以从这里面找一下:https://unicode-table.com/cn/blocks/basic-latin/如果是判断字符是否为中文:def check(c): re...

2019-01-28 13:38:51 6446

原创 GAN——生成对抗网络详解

GAN的诞生在讲GAN的内容之前想先讲一下GAN诞生的故事。GAN的创造者是Ian Goodfellow,有一天为了庆祝一个朋友Razvan Pascanu获得了博士学位,他和一些朋友在蒙特利尔一家酒吧嗨。他们开始讨论一个新的研究方向,通过数学的方法确定图片内容,大概意思是把图片都喂给机器,通过统计之类的方法,机器可以自己生成图片。我们的主角Goodfellow也喝高了,表示这种方法不会work...

2019-01-27 15:23:52 1033

原创 简单理解信息量、散度、交叉熵

信息论顾名思义,信息论是研究信息的一门学科,不过在这篇文章里,只讨论一些简单的概念。信息量这里的信息量和“这句话信息量很大啊”的信息量有些像,但还是有区别的。信息论顾名思义,信息论是研究信息的一门学科,不过在这篇文章里,只讨论一些简单的概念。信息量这里的信息量和“这句话信息量很大啊”的信息量有些像,但还是有区别的。我们常说的信息量很大,基本上的意思是表达某句话或者某个场面(较少见)...

2019-01-05 12:47:52 924

原创 Unet学习笔记

最近在看Unet,记录一下。论文地址https://arxiv.org/pdf/1505.04597.pdf网络结构图上画的还是很清晰的,但是对于不了解Unet结构的人来说,可能还是有一些不清楚的地方。我这里结合我看的时候的疑问,来讲一下Unet的结构的一些问题。可以看到,输入是572x572的,但是输出变成了388x388,这说明经过网络以后,输出的结果和原图不是完全对应的,这在计...

2018-12-18 23:22:35 24501 28

原创 使用mkldnn为cpu运行网络加速

最近要在用crnn,跑的pytorch模型,本来在gpu跑的好好的,但是后来由于各种原因,需要在cpu上跑,才发现cpu上跑的是真的慢,后来发现了mkldnn这个东西,这是intel开发的开源项目,就是针对cpu上运行神经网络做了一些并行优化。用了以后,大概速度快了7,8倍吧,效果还是比较明显的。mkldnn的github链接: https://github.com/intel/mkl-dnn...

2018-11-22 09:01:14 15304 22

原创 TextRank学习笔记

TextRank起源与PageRankTextRank的灵感来源于大名鼎鼎的PageRank算法,这是一个用作网页重要度排序的算法。并且,这个算法也是基于图的,每个网页可以看作是一个图中的结点,如果网页A能够跳转到网页B,那么则有一条A->B的有向边。这样,我们就可以构造出一个有向图了。然后,利用公式:经过多次迭代就可以获得每个网页对应的权重。下面解释公式每个元素的含义:S(V...

2018-11-04 10:38:41 7912

原创 随笔——关于贝叶斯定理

贝叶斯定理是一个很经典的定理,虽然公式很简单,套用起来也很方便,但是还是缺乏一个直观的sense, 似乎很有道理却说不出来,这是一件很难受的事情,今天打算好好聊一聊贝叶斯定理,看看是否可以建立一个直观的感觉。其实,画图是一个很好理解数学公式的方法,如果各种公式都能变成一个简单的图像存在人的大脑里,那数学学起来应该会轻松很多。既有数字能够入微的计算细节,又有图像能让人把握方向,就很完美了。所以,...

2018-09-23 17:53:40 1157 1

原创 目标检测——细读YOLO V1

Yolo(You Only Look Once)是一个end-to-end的目标检测算法。作者在论文中提出,人类的视觉系统是快速和准确的, 人们瞥一眼图像,立即知道图像中的物体是什么,它们在哪里以及它们如何相互作用。而对于Rcnn系列的方法,都是需要先找到有可能有物体的框(anchor box),然后进行前背景分类,nms消除重叠框,重新进行坐标回归和分类,这个流程就比较复杂,并且每个步骤的组件的...

2018-09-08 14:11:13 774

原创 FasterRcnn中boundingbox regression的一些理解

在fasterrcnn中,做框的回归,有三个输入,anchor,预测的框,groundtruth的框。一个框的表示,使用中心点(x,y)(x,y)(x, y),和框的宽高(w,h)(w,h)(w,h)表示。那么这个回归的loss怎么算呢?首先看下图: 其中: 绿框:ground truth box 红框:predict box 蓝框:anchor box首先我们需要明白下面两个...

2018-08-30 11:39:38 2403 8

原创 关于Faster-Rcnn中的AnchorBox的一些理解

最近在看faster-rcnn的源码,写一写笔记~之前看论文的时候,anchorbox这个东西,虽然大概意思是理解了,但是还是有很多细节没想明白,之前读代码的时候又有了更深的理解。首先,faster-rcnn在计算anchorbox之前大概是下面这几步: 为了更方便理解,我列出了实际情况中一个图片的输入对应的过程中的各个输出结果的size,而实际情况中,输入的size是不确定的,re...

2018-04-14 17:53:59 20641 24

原创 图片转tfrecord格式的优化

前两天在用一个开源代码的时候,发现他把数据转tfrecord以后特别大,本来硬盘空间就有些紧张,这下更不够了。看了一下转完以后的大小,是原始数据的9、10倍,这就有些夸张了。之前用tfrecord的时候没有特别注意这个事情,这次看到了还是研究一下。方案1:这是原来代码里的写法,为了简便,就只挑重要部分的写了:import tensorflow as tfimport numpy as...

2018-04-14 13:37:30 4211 2

原创 如何生成FSNS数据集结构的tfrecord数据

想要用一下attention ocr,github如下: https://github.com/tensorflow/models/tree/master/research/attention_ocr发现这里面并没有生成数据的样例代码,只能用fsns的格式,如果想要用自己的数据集要生成一个和FSNS一样结构的tfrecord数据,但是这部分没有仔细说,只给了一个stackoverflow的链

2018-01-13 15:38:28 1812 1

原创 卷积神经网络的参数计算

前言这篇文章会简单写一下卷积神经网络上参数的计算方法,然后计算各个常见神经网络的参数。一个是加强对网络结构的了解,另一方面对网络参数的量级有一个大概的认识,也可以当作备忘录,免得想知道的时候还要再算。参数计算方法全连接的参数计算就不说了,比较简单。 首先,简单说一下卷积网络的参数计算。下图中是一个32x32x3的输入,然后用一个5x5x3的卷积对其中某个位置的计算,这里算的是一个

2018-01-08 22:39:12 87009 33

原创 CTC算法论文阅读笔记:Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurren

前言最近在看这个论文,本来想要写一个翻译,但是鉴于本人英语的渣水平,再加上论文本身一些说明,虽然能够看懂,但是很难翻译过来,所以还是写个阅读笔记好了。在这篇文章,我会跟着论文的思路大致说明论文的内容和自己的理解。CTC解决什么问题在许多的训练任务中,我们需要输入一个序列,这个序列有可能有噪声,并不是我们需要的信息都连续存在。比如声音的识别之类的,对于一个语音,假设我们要翻译成文字,但是声音中的信息并

2017-12-31 14:09:30 3884 4

原创 [kaggle系列 五] 通过mnist来研究神经网络的一些细节(3)

题目https://www.kaggle.com/c/digit-recognizer前言上一篇用了个简单的神经网络来解决mnist的问题,介绍了一下权重初始化的技巧,防止训练梯度到最后一层的时候变为nan,还使用了bn算法,取得了一些成效。这一章里,我会介绍一下训练中使用的更新梯度的优化算法,还有对神经网络进行正则化和dropout的操作。SGD的问题使用随机梯度下降算法,虽然能够使得梯度不断下降

2017-10-21 15:24:06 1084 2

原创 [kaggle系列 四] 通过mnist来研究神经网络的一些细节(2)

题目https://www.kaggle.com/c/digit-recognizer前言上一篇写了一些基础的代码,用一个最简单的神经元来写了一个手写数字的识别。在这一篇里,首先扩展了神经网络的深度,并且处理了深度所带来的权重初始化的问题,另外,还尝试用了batch normalization算法进行了优化。增加网络层数把网络层数加深并不难,只要处理好输入输出就可以了,这里直接贴个代码好了。这里有两

2017-10-16 22:26:40 690

原创 [kaggle系列 四] 通过mnist来研究神经网络的一些细节(1)

题目https://www.kaggle.com/c/digit-recognizer前言前面玩泰坦尼克号花费了一些时间,想要把分数刷的高一些,但是没有成功,感觉再搞下去意义不大,毕竟只是拿来熟悉kaggle和一些机器学习算法的,目的已经达到了,没必要纠缠下去。所以就开新坑啦~ 其实我重点是想要搞神经网络深度学习的,mnist是一个比较简单的数据集,是Yann LeCun大神搞出来的,收集了6,7

2017-10-11 21:46:24 745

原创 [kaggle系列 三] 使用SVM判断是否能从泰坦尼克号生还

题目连接:https://www.kaggle.com/c/titanic前言和前几篇差不多,这次换成svm,实际上,对于svm的理解是有了,知道是怎么做的了,但具体公式如何推导,还是不会,但是,这不影响写代码,使用现成的库函数就可以搞定,有时候,这些工具大大简化了我们的学习成本,知道基本原理,然后去使用就行了,具体的细节也不用去关心。用陶渊明的话来说,就是,“好读书,不求甚解;每有会意,便欣然忘食

2017-09-20 22:40:08 2183 1

原创 简单易懂的softmax交叉熵损失函数求导

来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福大众,岂不美哉~ softmax经常被添加在分类任务的神经网络中的输出层,神经网络的反向传播中关键的步骤就是求导,从这个过程也可以更深刻地理解反向传播的过程,还可以对梯度传播的问题有更多的思考。softmax 函数softmax(柔性最大值)函数,一般在神经网络中, softmax可以作为分类任务的输出层。其实可...

2017-09-20 22:23:33 77923 79

原创 [kaggle系列 二] 使用决策树判断是否能从泰坦尼克号生还

题目连接:https://www.kaggle.com/c/titanic简析上一篇用了贝叶斯分类器,这次用决策树和随机森林试一试,不过最终的得分没有贝叶斯分类器高,好吧,说实话,感觉再用几个不同的机器学习方法应该结果也差不多,现在主要是试水,先搞懂基础的算法,然后再通过数据的处理与分析去优化结果。决策树我个人认为,决策树应该是比较好理解的机器学习算法了。其中心思想就是ifelse,存在很多个条件的

2017-09-16 15:56:25 1177

原创 [kaggle系列 一] 使用贝叶斯分类器判断是否能从泰坦尼克号生还

前两天有个朋友给我推荐了kaggle这个网站,感觉对于我这种想要学习却不太清楚如何实践的新手来说是个很有效的学习方式。 之前学的东西都比较乱,这边学一点,那边学一点,这次要一步一步的,从简到难好好搞一搞~ 做这个的目的呢,主要是学习机器学习人工智能这方面的东西,通过具体的问题,把不同的算法放上去尝试,同时,也可以给想要学习的同学提供一些比较简单的方式~ 之前看教程,感觉都是没有例子或者没有理论

2017-09-09 18:00:20 2150 2

原创 kaggle 邮箱验证的时候提示 You did not enter the correct captcha response. Please try again

听一个朋友说的kaggle这个东西,打算借此好好学习一下,注册的时候邮箱验证总显示You did not enter the correct captcha response. Please try again没有输入正确的验证码是什么鬼,老子根本没输验证码好么。。。后来发现这个验证码是用google提供的api,google被和谐了,所以加载不出来……翻个墙就能出来验证信

2017-09-07 22:12:22 46359 15

原创 mac下安装安装包,遇到“安装器遇到了一个错误,导致安装失败”

今天安装jdk的时候遇到的,之前安装node的时候也不行,我还以为是包的问题,用另外一种方法安上了,但是jdk没找到别的,研究了半天……最后发现,我的/private/tmp目录没了……有可能是什么时候被误删的吧?然后重新mkdir一个就能装上了……

2017-06-03 15:38:23 60437 5

原创 如何使用d3js画分帧画一棵树

最近用d3js写了一个把树可视化的工具,但是遇到一个问题,当树的结点非常多的时候,加载整棵树会卡一段时间,体验不是很好,所以想是不是能用分帧加载的方法,不要一次加载整棵树,而是隔一段时间加载一部分。 这是老套路了,本来觉得应该挺简单的,但是网上查了半天也找到符合需求的文章,又去查API,发现也没有可用的。期间也发现了一个看起来可以用的,先贴一下链接:http://jsfiddle.net/cyri

2017-05-06 14:11:42 1788

原创 关于Tensorflow计算图与Tensor的理解

关于Tensorflow计算模型tensorflow的编程和我以往接触的编程方式有很大差异。以前的编程,无论是编译类型的语言还是脚本语言,都是一步一步的,变量计算后,就会得到结果,比如c=a+b,当执行完语句后,就会得到c的值。但tensorflow不是,它首先要通过编程,构建一个计算图出来,然后启用一个会话来把数据作为输入,通过这个图规定的计算步骤计算,最后得到结果。 普通的命令式编程容易理解和

2017-04-23 14:51:20 11226 1

原创 Makefile学习笔记

前言由于过去一直在做前端,虽然早就知道有makefile这种东西,但是一直都没去学。因为有ide啊,为什么要手动去搞呢。。。不过现在有用了,还是要看一看。 之前以为makefile就是用来做编译连接之类的东西的,但实际并不是这样,造成这种错误认知的原因一方面是看过的makefile都是做这个的,另一方面也是网上的教程基本都是用编译连接来做例子。确实,makefile最常用的就是用来构建项目,但实际

2017-04-09 16:09:30 537

原创 AlphaGo是如何实现的

前言最近看了AlphaGo的论文:Mastering then Game of Go with Deep Nerual Networks and Tree Search。惊异于这些人的创造力和神经网络的强大,能够把围棋这种游戏做到这种地步。写一写论文里的方法和自己的思考吧,这篇文章基本都是论文中的观点,只是以我的视角去解读,有错误的地方欢迎指出。关于棋盘对弈游戏还记得在大学的时候,学校举办了一个人

2017-04-03 22:08:04 8794

C#打字小游戏

C#写的,练练手。。。写的比较简单,但是忘了写注释……

2012-04-15

空空如也

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

TA关注的人

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