Datawhale——SVHN——Task01:赛题理解
本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第二场 —— 零基础入门CV之街景字符识别比赛。
Datawhale小组学习之街景字符编码识别任务——Task01:赛题理解1. 大赛简介本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第二场 —— 零基础入门CV之街景字符识别比赛。
1.1 赛题数据介绍赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN),该数据来自真实场景的门牌号。
训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位
numpy中的einsum使用方法
本文将介绍爱因斯坦求和约定,以及在numpy中的使用
numpy里面有很多奇技淫巧,爱因斯坦求和约定就是其中之一。
爱因斯坦求和约定能够很方便和简介地表示点积、外积、转置、矩阵-向量乘法、矩阵-矩阵乘法等,这在深度学习公式推导中的用处很大。
其实我不认为einsum在numpy中用处很大,我认为其顶多就是一种统一的矩阵运算写法罢了。这种技巧,是在牺牲可读性基础上,对代码的简化。而且由于numpy对其他运算也有进行优化,所以仅凭借爱因斯坦乘数法还不一定能提升代码执行效率。
可能是我还没有体会到高维张量相互计算时的痛苦吧。
先看一下einsum的api:
np.einsum(equation, *
numpy中axis的简单理解
本文将介绍numpy中的axis
我对于numpy中的axis的理解,一直处于似懂非懂、似是而非的状态。看到网上大神的文章,也只能点个赞之后,该不会还是不会。每次看完博客,都会觉得自己懂了;但是每次使用的时候,又要想老半天才行。因此今天我想借此机会,彻底扫清使用numpy时,axis的障碍。
在numpy中,数据的基本类型是array。array有个基本的数据属性,是它的维度。
比如下面的这个array,在逻辑上来看这就是个2维的数据,是一个矩阵。
A = np.random.randint(0, 19, 9).reshape(3, 3)
print(A)
[[12 15 0]
[ 3
闭包的迷思
闭包是什么?如果你与我有同样的疑问,敬请阅读。
什么是闭包?这个问题困扰了我很长时间。
第一次接触闭包这个概念,是在“形式语言”这门课上。好像“离散数学”这门课上也教过闭包,但是这都不重要,因为我们这里讨论的闭包与数学上的闭包没什么关系。本文讨论的闭包,是程序设计语言中的闭包。
专业概念:
闭包是在其词法上下文中引用了自由变量的函数,自由变量是指除局部变量以外的变量。
又有一种说法是闭包不是函数,而是由函数和与其相关的引用环境组合而成的实体。
维基百科)的解释:闭包在实现上是一个结构体,它存储了一个函数(通常是其入口地址)和一个关联的环境(相当于一个符号查找表)。
看到这里我彻底懵逼了。是是是
Python装饰器为什么这么难以理解
本文将介绍Python中的装饰器,以及设计模式中的装饰模式。
从C/C++或Java迁移来的新Python程序员一定会对Python的装饰器功能感到陌生,尤其是在函数定义前加@func这一功能感到困惑。装饰器到底是什么?Python背后做了什么?在仔细研究网上的资料之后,我总结了此文,与大家分享。
参考文章
1. 提出需求我们想在函数增加一点功能,比如每次函数执行之前打印一段话,但是又不想更改函数的定义。
这种想要给原来函数增加需求的同时,不修改原来代码的行为,非常有“面向对象编程思想”内味儿,因为它符合“开放封闭原则”。
现在就有请大名鼎鼎的设计模式之——装饰器模式登场!
装饰器模式(De
chrome升级版本失败解决办法
错误描述:在Win7电脑上试图将Chrome从32位的72版本升级到64位的80版本时发生问题,升级进度到62%报错:Chrome安装 未知错误导致安装失败 “0x80040902”
从chrome官网下载“chromesetup.exe”,打开梯子之后下载成功,在安装过程中也出现未知错误。从Chrome官网下载“Chromestandalonesetup64.exe”,即离线安装包,最后也出现同样的错误。重新启动、进入安全模式、试图结束所有有关google的进程的方法对我都没用。
最后有效的方法:把原来的Chrome从控制面板的“添加删除程序”中卸载;
按住windows+R,在“开始”运
【论文阅读笔记】Coverage Guided Testing for Recurrent Neural Networks
本文类比软件测试中覆盖率的概念,提出LSTM网络的覆盖率,并为带有LSTM网络结构的深度学习模型开发了一种覆盖率引导的模糊测试方法,并整合成测试工具testRNN。该测试主要是为了衡量网络的鲁棒性。
摘要本文类比软件测试中覆盖率的概念,提出LSTM网络的覆盖率,为带有LSTM网络结构的深度学习模型开发了一种覆盖率引导的模糊测试方法,并整合成测试工具testRNN。
另外,本研究还发现对抗样本生成率和覆盖率有相关性,这证明覆盖率是评估带LSTM结构的神经网络的鲁棒性的良好指标,也说明了testRNN能够捕获RNN的错误。
经实验评估证明,该测试方法能有效生成使模型出错的变异样本,便于测试人员及早
【论文阅读笔记】RNN-Test Adversarial Testing Framework for Recurrent Neural Network Systems
清华大学和北邮作者共著的大作,思想挺新颖但是至今为止都是挂在arxiv上。读完之后给人感觉像是草稿,机翻色彩严重……
1. 引言近年来对于对抗样本的研究主要集中于图像领域,少部分集中在音频领域。而这两种领域的突变攻击,都局限于DNN模型,RNN模型的对抗样本生成则鲜有研究(当时)。
RNN的对抗测试面临某些挑战,概括为三方面:
首先,没有明显的类别标签,就没有规则来识别对抗样本。因此传统的对抗性测试对于文本生成模型等无能为力。
其次,人类能够察觉在文本上的微小修改,且文本扰动很难保证语义不发生变化。
第三,现有的基于CNN的基于神经元的覆盖度量未能考虑RNN结构的特征,因此无法直接借鉴。
如何使用VS Code编写github pages博客
使用VS Code写博客,需要你按照我之前写的两篇博客,将github pages平台搭建起来。
配置hexo+GitHub Pages纪实hexo图片加载失败解决方案
之后我们安装VSCode。接下来介绍我一直使用的几个插件,和它们的配置小技巧。
第一个是Markdown Preview Enhanced,有了该插件,就可以提前预览markdown文件的渲染效果。方法是使用VSCode打开以md后缀名结尾的文件,右键点击Markdown Preview Enhanced: Open Preview To The Side,即可在侧边栏生成即时渲染的md效果文件。
第二个是Markdown P
总结论文中常用的Matplotlib和Seaborn绘图技术
一、使用matplotlib绘制图像matplotlib是一个Python的数据可视化2D图形库。matplotlib的特点是可以采用面向对象的方法,模仿MATLAB中的图形命令。matplotlib经常与numpy、pandas等库结合起来使用。matplotlib可以采用MATLAB的命令风格使用,也可以采用面向对象的风格使用。
matplotlib的图像中各组件名称
新建图像fig, axes = plt.subplots(2,1,figsize=(5,10)) #两行一列组成一张图,图像大小宽5高10
上面的语句创建了一个figure,由两个ax组成。把它想象成一张画布上面的两个贴画
用于科学计算的GPU选购参考
实验室最近要采购一批显卡,需要调研显卡的型号和价格。
需求分析首先说一下需求:
首先显卡的用途是科学计算,更具体一点是深度学习,有人做图像,有人做NLP;
其次预算有限,得买性价比最好的;
然后可能会有很多人要用服务器训练模型。
然后这是戴尔服务器的售后人员发来的建议采购清单:
其中M10:19999¥ P100: 49999¥ V100:59999¥ P40:49999¥
值得一提的是,谷歌的Colab上面用的是这款:
但是一个从事深度学习研究的学长建议我买1080Ti。他好像提都没提过Tesla啊?难道显卡水这么深?
GPU参数GPU的性能主要由下面三个主要参数构成:
计算能力。通常我
NLP学习笔记4
1. 利用朴素贝叶斯模型进行文本分类朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。
举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。
尽管是带着这些朴素思想和过于简单化的假设,但朴素贝叶斯分类器在很多复杂的现实情形中仍能够获取相当好的效果。2004年,一篇分析
NLP学习笔记3
1. TF-IDF原理。tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了tf-idf以外,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的顺序。
原理在一份给定的文件里,词频(term f
NLP学习笔记2
1. 分词的概念和实现细节NLP的底层任务可分为词法分析、句法分析和语义分析,分词是词法分析中最基本的任务。中文分词是在一个中文序列的词与此之间加上空格或者其他边界标志进行分割,从而方便接下来步骤的处理。
分词算法可分为两种,一种是基于词典的分词算法,另一种是基于字的分词算法。
1.1 基于词典的分词算法:最大匹配分词算法,有正向和反向两种。主要思路是将词典构造成一颗Trie树,也成为词典树。以“他说的确实在理”这句话为例,构造Trie树如图所示:
Trie树由词的公共前缀构成节点,降低了存储空间的同时提升查找效率。最大(正向)匹配分词将句子与Trie树进行匹配,在匹配到根结点时由下一个字重