09 2017 档案
摘要:在使用keras进行模型绘制的时候,出现了一个错误 Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work. 下面是解决方案,使用命令sudo apt-get install graph
阅读全文
摘要:LSH的基本思想是: 将原始数据空间中的两个邻近数据点通过某种映射或变换,使得这两个数据点在变换后的数据空间中仍然相邻的概率很大,而不相邻的数据点被映射到同一个桶的概率很小。 因此,最最重要的就变成了就是找到一个这样的映射或变换,也就是所谓的hash function。有没有觉得如果找到一簇这样的函
阅读全文
摘要:写在前面:之前一直在搞keras,最近由于某些需求,需要学习caffe,在此记录caffe的安装记录。默认已经安装了cuda 如果是从其他的深度学习平台迁移到Caffe,那么按照这个教程来就可以了。 第一步:git clone https://github.com/BVLC/caffe.git,然后
阅读全文
摘要:数组做参数的引申: 数组做函数参数会退化为一个指针,将数组的内存首地址和数组的长度传递给被调用的函数。 类型是数组的形参和实参在函数中的数据类型不一样,前者是指针,后者是数组。 写在形参位置的数组,C++编译器仍然当作一个指针,只会分配4个字节的内存。 C语言的优势就是可以在主调函数和被调函数之间通
阅读全文
摘要:准确率说的是,你说检测出来是真的,其中真的是真的所占的比例。 召回率说的是,我说这个东西是真的,这些真的东西检测出来所占的比例。
阅读全文
摘要:python文件的读写 在python中以只读模式打开文件的时候,会自动将文件的内容进行清空,然后在将数据写到文件中。 打开文件以后,使用write方法的时候,每调用一次write方法,都会将内容写道文件中,会紧跟着上一次文件结尾的地方。 在文件关闭和使用flush函数之后,会将对应的数据写到文件中
阅读全文
摘要:这里说的是字符串中的内置方法,毕竟字符串是最常用的操作对象。 ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__'
阅读全文
摘要:网络模型的选择 至少RCNN系列用的都是VGG,YOLO也用的是VGG,SSD用的也是VGG,唉,好像经典性能好的,用的都是VGG模型。 上面说的哪些,还都没有涉及到网络的权重问题,要是仅仅给出了网络结构,而没有给出对应的权重文件,哪些就需要自己重新训练一个网络模型参数,这就很麻烦了。 具体到里面的
阅读全文
摘要:python中字典的遍历。 也就是说,这种情况下,其实遍历的是字典的键,当然,你也可以通过使用d.keys得到同样的效果。 也可以通过遍历d.values来得到相应的值的数据。 不过最常用的就是使用d.items()来得到一条一条的元组数据,然后在对元组数据进行后续的操作。 不过,这里仅仅考虑了实现
阅读全文
摘要:在做图像处理的时候,自己常用的是将PIL的图片对象转换成为numpy的数组,同时也将numpy中的数组转换成为对应的图片对象。 这里考虑使用PIL来进行图像的一般处理。 可以通过PIL中Image中的fromarray,直接将一个数组对象转换成为PIL中的图片对象,然后就可以使用PIL中对应的方法来
阅读全文
摘要:在python中整形,字符串,元组是不可变类型,而列表和字典都是可变类型。 对于不可变类型进行重新赋值,相当于是用以前的变量名重新指向了新的地址,这个地址中存的变量值就是重新的赋值 通过python中提供的函数id可以看到变量在内存中存储的位置 同时,对于0-256之间的任意整形,以及稍微短一点的字
阅读全文
摘要:Numpy中可以进行广播的情况:当numpy从后向前的比较他们的shape的时候,只有当他们相同,或者其中一个是1的时候才称为是相容的。 如果两个矩阵的维数不相同,会自动将维数低的扩展称为维数高的一样的维数,前面的全部都补成1,只有判定最后相容的矩阵,才能进行广播。
阅读全文
摘要:最近在看SSD源码的时候,就一直不理解,在模型构建的时候如果使用Flatten或者是Merge层,那么整个数据的shape就发生了变化,那么还可以对应起来么(可能你不知道我在说什么)?后来不知怎么的,就想明白了,只要先前按照同样的方式进行操作,那么就可以对应起来。同样的,只要按照之前操作的逆操作,就
阅读全文
摘要:linspace可以用来实现相同间隔的采样。 numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 返回值为numpy.ndarray。 贴上一个例子: 由于默认情况下endpoint=True,因
阅读全文
摘要:从上面可以 看出,numpy中的flatten是按照行进行,在按照列,最后按照通道。 就这样子
阅读全文
摘要:这里的网络架构和论文中插图中的网络架构是相一致的。对了,忘了说了,这里使用的keras版本是1.2.2,等源码读完之后,我自己改一个2.0.6版本上传到github上面。可别直接粘贴复制,里面有些中文的解释,不一定可行的。#defint input shapeinput_shape = (300,300,3)#defint the number of classes num_classes = ...
阅读全文
摘要:唉,真烦哪些炒概念的,把整个世界都给弄乱了。 这里说一下dilated convolution和atrous convolution。 这两种是一样的,至少keras源码中是一样的。在keras中调用也十分简单: 看到了没有,就是一个参数,又多了一个可以调整的参数,累啊。 就这样吧,唉,心疼哪些炒概
阅读全文
摘要:最近在学习SSD的源码,其中有两个自定的层,特此学习一下并记录。 首先说一下这个层是用来做什么的。就是对于每一个通道进行归一化,不过通道使用的是不同的归一化参数,也就是说这个参数是需要进行学习的,因此需要通过 自定义层来完成。 在keras中,每个层都是对象,真的,可以通过dir(Layer对象)来
阅读全文
摘要:这里记录在学习SSD源码过程中用到的相关内容 keras.applications.imagenet_utils.preprocess_input(): 用来将读入的原始图片张量转换成为需要Imagenet网络识别的形式,源码显示的是进行通道的转换以及减去各个通道均值,这个均值应该是ImageNet
阅读全文