- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 caffe windows
https://github.com/BVLC/caffe/tree/windows 官方教程遇到的问题boost没有安装好,将boost作为附加库和lib库.. 而且anaconda python路径没有安装好,虽然在props文件里面已经设定了pyhon_dir路径,但是仍旧没有。这个时候直接附加库目录: F:\DL\boost_1_61_0; C:\An
2016-07-14 21:47:52
496
原创 numpy给图片加高斯噪声
给加高斯噪声的意思,就是在原图像矩阵上面加一个符合高斯或者叫正态分布特征的矩阵。生成随机噪声的三个方法,如果我们的目标矩阵是一个r*c的矩阵,要生成一个均值是mean,标准差sigma的随机噪声矩阵,那么是这样sigma*np.random.randn(r,c)+mean, #输入是两个参数,一个mean,一个sigma。sigma*np.random.standard_n
2016-01-18 11:06:06
10470
原创 在windows下编译caffe的python接口(CPU模式)
主要的资料来源是happynear的教程(英文github,中文csdn博客),但是里面对python接口是分散讲的,而且有个地方有遗漏,摸索一天才发现怎么弄,所以这里针对python的部分单独讲讲。 我用的是VS2013,CPU模式,因为我的笔记本的N卡太弱了,所以我后来还是用CPU模式了。 第一步 下载所需2个包一个happynear的github的包,另一个他的3rdp
2016-01-17 17:18:58
3759
5
原创 图像处理和OpenCV小记
不管是图像处理还是计算机视觉,都越来越需要机器学习做特征集的训练了。但是feature engineer或者说图像本身各种关键特征的提取也是很关键的。今天在pysearch上看到了这句话也正是一样, A clever use of contour properties can save you from training complicated machine learning models.
2016-01-14 11:25:26
127
原创 Opencv里面的TermCriteria对象解释
用meanshift的时候,看到能够在视频里面识别某个物体还画个框。细看了下OpenCV里面meanshift方法是这样用的。cv2.meanShift(dst, track_window, term_crit)其实meanshift识别和这个track_window真没什么直接关系,meanshift识别的就是密度最大的那个点,找到那个点再加个框就行了,我原来觉得尺寸人家都能自己算出
2016-01-14 11:16:20
10990
1
原创 从目的上来讲BackProjection
我第一次遇到BackProjection这个词觉得很学术,我也不知道为什么要用,直到我遇到一个例子,这个在此链接有讲,但是我把它讲的再细化一下。首先是这个例子。我们有一个梅西的图片,现在我们要把草皮绿色的地方提取出来,那么怎么做呢? 最简单你可以用颜色为绿色的一段阈值进行提取,现在我们用BackProjection这个方式进行提取。首先我把梅西那张图里面的其中一块草
2016-01-13 16:33:07
1423
原创 python因为opencv无法读取图像而出现python.exe停止工作
使用opencv处理一堆图像,有jpg,png和gif。jpg的图像很多,程序处理过程中出现"python.exe程序已停止工作",后来发现是cv2.imread无法读取gif图像造成的。
2016-01-11 12:30:17
1114
原创 pandas和numpy使用小记
numpy数组不可以扩展可是它最大的缺点就是不可动态扩展——“NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中。http://blog.chinaunix.net/uid-23100982-id-3164530.htmlnumpy数组的展平可以用flatten,也可以用numpy.rave
2016-01-11 05:07:00
2000
原创 灰度共生矩阵计算熵遇到0的问题解决
灰度共生矩阵有非常多的纹理特征维度。熵就是其中之一,可以表示图像分布聚集的程度。如果图像分布比较均匀,熵就比较小,就越有可能是噪声;反正,可能是真正有用的图像。计算公式就是 - sum(P(i,j)*log(P(i,j))其中有个bug就是灰度共生矩阵有可能有0的现象出现,log(0)是没有意义的对于这个问题,我在网上找的答案是计算的时候把这个0的时候剔除掉,不计算在内
2016-01-10 10:22:29
933
原创 numpy多维数组操作np.apply_over_axes使用
参考http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.apply_over_axes.htmlnumpy.apply_over_axes(func, a, axes)[source]其中a是需要操作的输入数组,func是操作函数比如加和sum,求均值average或者其他自定义函数,axes是需要操作的轴
2016-01-10 09:11:12
4748
转载 github基本使用的命令
1) 配置 git首先在本地创建 ssh key:ssh-keygen -t rsa -C "your_email@youremail.com"ssh -T git@github.comgit配置git config --global user.name "your name"git config --global user.email "your_email@your
2015-12-06 12:23:41
273
原创 简单说直方图均衡化的思想
直方图均衡化的主要思想就是,让出现频率较高的像素值,在直方图均衡化后,拥有较高的像素值。也就是高频像素值,最经常出现的,信息量最多的,是最亮的。反之,低频像素值,最不经常出现的,信息量最少的,是最暗的RGB彩色图像,可以分别对RGB三个波段进行直方图均衡化处理;也可以转换到HSV空间,对V分量进行处理。最后就是把灰度的频率信息,转化成,像素亮度信息。详细例子wi
2015-12-06 08:56:27
1884
原创 [机器学习手记]随机森林与数字识别
kaggle数字识别题目介绍和数据地址:https://www.kaggle.com/c/digit-recognizer解法:python.sklearn的随机森林方法不只# -*- coding: utf-8 -*-"""Created on Wed Nov 25 20:39:46 2015@author: Ning LI"""import num
2015-12-06 08:54:06
645
原创 ubuntu无线网卡配置
auto lo #配置loiface lo inet loopbackiface eth0 inet dhcp #配置eth0auto hot-plug wlan0 #配置wlan0iface wlan0 inet dhcp方法一--------------------------
2015-11-30 14:09:00
349
原创 [机器学习手机13]scikit-learn几种交叉验证方式
这次需要介绍的是scikit-learn库里面的几种常见的交叉验证方式: 1) LeavePOut, 2) LeaveOneOut, 3) KFold, 4) Stratified KFold其实归并起来,主要是两种,KFold和LeavePOut先讲KFold,sklearn.cross_validation.KFold(n, n_folds=3, shuffle=False
2015-11-26 15:36:09
199
原创 Jetson tk1 开发板重刷系统
电脑使用:需要用linux的主机,将镜像文件刷到jetson tk1里面,而且千万不要用树莓派,我自己用树莓派无法执行里面的一个mksparse的二进制文件, 会显示Mksparse: cannot execute binaries,但是在ubuntu里面没有这个问题。树莓派的不是用户的权限问题,而且对二进制文件本身也加了chmod +x的执行权限了,所以应该是系统问题。因此最好用正经的l
2015-11-25 03:13:21
491
原创 github学习笔记
git初始化操作1)git init2)git remote add origin git@github.com:cmusphinx/pocketsphinx.git3)git clone git@XXX.git4)git fetch origin拉代码git pull origin master远程仓库git remote add
2015-05-15 01:21:06
86
原创 动态规划 栈问题
有n个数顺序(依次)入栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)]()这个进出栈的问题里面。一旦元素决定好时机进去了,他前面元素的进出站可以递归,他后面元素的进出站时机也可以用递归计算,。f(1)=1f(2)=2f(3)=5f(4)=f(0)*f(3)+f(1)*f(2)+f(2)
2015-05-12 15:58:13
532
原创 [编程思考练习12]C++q前置声明
class A{public:int n;const int i;int &c;public:A(int N):c(2),i(12){this.n=N}}前置声明能够:1) 减少对象的大小 2) A里面包含B对象,传统方法B改变了额,那么A跟着也要重新编译一下。而如果A里面包含的是B *b这种指针或者引用对象,
2015-05-12 15:02:25
148
原创 [编程思考练习11]多型数据类型
具有的值的类型不确定,但是抽象看有相同的数据抽象特性-----多型数据类型也因为多型数据类型有相同的数据抽象特性,一种抽象操作可以适用于多种具体类型的操作。比如pop_back push_back可以适用于vector 也可以适用于vector比如数组,可以存储字串char arr[10]="you are good", 也可以存储int arr[10]={2,3,4,5}
2015-05-12 09:33:29
1142
翻译 [编程思考练习10]C++子类已经重写了父类的函数, 那么如果我有时候就想调父类的函数呢?
虚函数的机制解决了父类的指针如何调子类的函数的问题,因为这个时候子类的函数地址已经替换掉了父类同名函数的地址了。那么如果有时候我子类就想调用重写前父类函数呢?前面已经做了替换了,好像没法回到过去了。这个时候就需要用限定符的方式调用。父类::函数方法。这样系统就不会采取虚函数调用了,而是调用对应类下的特定那个函数。比如下文。base_class *p = new dev_class;
2015-05-12 01:10:22
490
转载 [编程练习思考9] C++构造函数不可继承
1) 静态成员函数,非静态成员函数,赋值操作函数,上述三种子类都可以继承基类。2) 但是构造函数,子类不能直接继承父类的,需要自己写,或者调用父类的构造函数,完成初始化。3) 析构函数可以继承扩展: 编译器总是根据类型来调用类成员函数。但是一个派生类的指针可以安全地转化为一个基类的指针。这样删除一个基类的指针的时候,C++不管这个指针指向一个基类对象还是一个派生类的对象,调用
2015-05-12 00:38:21
252
原创 [编程练习思考7]32位机子上0x01的理解
我之前看过32位的题目,最近又看到这一道题,非常奇怪即使是16位,为什么不是0-9,A-F,写一位不就行了么。为啥1非得加个0x01表示。
2015-05-12 00:15:07
178
原创 [编程练习思考8]C++地址相减
C++地址相减,是以数组元素的类型为单位来存储的,地址相减的结果就是不同地址之间相隔的单位类型的个数int main(){ int a[3]; a[0]=0; a[1]=1; a[2]=2; cout<<&a[2]-a<<endl;}结果是2
2015-05-12 00:05:16
953
原创 [Python]windows平台python第三方模块安装gcc failed with exit status 1问题的解决
在windows平台命令行用pip install安装库的时候,经常遇到not found vcvarsall.bat这种问题,手动下载源码自己编译,又经常有很多问题。1) 在单位没有安装VS,安了mingw32,编译设置成python setup.py install build --compiler=mingw32 又经常报出编译的C语言错误,这类错误一般都是编译设置问题,或者编译器版本
2015-04-24 13:31:47
979
原创 word2vec
# -*- coding: utf-8 -*-import pandas as pdfrom bs4 import BeautifulSoup import re #替换标点#frequent words with little meaningimport nltkfrom nltk.corpus import stopwordsimport numpy as npfrom s
2015-02-11 02:22:08
166
原创 机器学习手记[13]--CART树回归算法解析
CART树回归算法解析1 初衷我们之前接触的ID3决策树,它特点是将所有的特征转化成标称的值。比如说年龄维度的数据是从1-80的,我们不是将这个特征按照80分进行特征分支而跟可能是按照老中青这种分成几个区间的特征,这个过程也就是将连续值转化成标称值。也就是说ID3决策树处理其实还是离散值,不是连续值。而且怎么处理都是人说了算的,年龄可以那样分,但是其它的数据是不是也是同样分呢?在这
2015-02-05 01:38:56
322
原创 [kaggle竞赛实践4]数字识别Digital Recognizer--Random Forest随机森林方法
这个比赛用的是著名的字符识别数据集,MNIST数据集, 使用的方法是随机森林方法。代码没有设计多少随即森林的方法,原理和代码级别的算法实现后面补充。精度96.5%。# -*- coding: utf-8 -*-import pandas as pdfrom sklearn.ensemble import RandomForestClassifierfrom sklearn i
2015-01-13 17:29:38
800
1
原创 [编程练习思考5]--从初衷来理解快速排序算法
快速排序是分治算法的经典体现之一,但是我总是会忘,原因之一我觉得就是由于之前的快拍是C语言写的,因为C语言没有那么高级的容器,因此用C写的快排就需要额外思考数据存储的位置,将他们充分利用起来。但是这样的快排写出来是分治思想和存储方法夹杂在一起实现的,并不能直观反映快速排序的最直接的分治特性。 后来我用python实现了一组快速排序,用到了list这种略高端一些的数据结构,这样快排二
2014-12-24 22:53:44
674
原创 [机器学习手记12]机器学习小思考
虽然接触机器学习并没有太长时间,有的时候放下书本或者IDE让我想想我自己熟悉的几个基本的算法都剩下些什么我能记得住的,也许就是下面这些了。。 KNN:就是将各个维度并列,计算多维特征距离 决策树:就是以熵的大小为依据,采取逐步最优的方法,选择最能够分的开当前数据集的那个特征,递归不断进行分离数据集的操作。 PageRank :就是个收敛问题。记
2014-12-19 00:27:02
531
原创 编程练习思考[4]---从一道两年前的指针题再理解理解指针
重读了遍高质量C++又唤起了对指针的一些思考,记录如下。关于指针:指针存储的是内存地址,而普通变量存储的是值,但是为什么值传递就不行,而指针传递就可以,但是究竟是什么本质的不同导致值传递和指针传递的效果不一样呢?先来看两个链条。指针变量名字---内存地址---内存存储值普通变量名字---内存存储值上面分别是指针变量和普通变量跟值之间的关系。值传递和指针传递之所以效果不一样,根本
2014-12-18 00:21:43
468
原创 [kaggle竞赛实践3] Titanic幸存预测问题--朴素贝叶斯解决方法
使用朴素贝叶斯的方法解决这个问题先贴代码,明天补充,睡觉数据处理和朴素贝叶斯py# -*- coding: utf-8 -*-'''Created on Oct 12, 2010Decision Tree Source Code for Machine Learning in Action Ch. 3@author: Peter Harrington'''from
2014-12-17 04:07:47
1590
1
原创 [编程思考4]从一道题分析二叉树解题
70个叶子节点 80个度为1的节点 节点总数是多少? 1 利用度数和总节点数关系0度叶子节点数=2度节点数+1【证明见注解】总节点数目=2度节点的数目+1度节点的数目+0度叶子节点数目 =2度节点的数目+1度节点的数目+10度叶子节点70个----2度的节点有69个,而题目已知度为1的节点有80个所有度的节点数目知道了,总节点的数为70
2014-12-15 15:26:24
122
原创 [kaggle竞赛实践2] Titanic幸存预测问题--ID3决策树解决方案
= = 尽管试了很长时间,正确率也只能到75%,也许用其他的决策树方法能达到更高的效果吧。这次主要用的是决策树方法去解决问题的,在机器学习实战的ID3决策树算法上进行扩展的。发现了机器学习实战决策树的一个bug,同时领会到决策树的局限性。1 问题分析我们的问题和上一篇kaggle的一样,还是Ti
2014-12-15 00:02:21
2152
2
原创 [kaggle竞赛实践] Titanic幸存预测问题--logistic回归解决方案
题目如下,给定Titanic上乘客的资料,预测他们幸免于难的概率,训练集合如下,测试集合类似,只不过Survived与否需要自己预测这个只是个题目,可以用之前学到的机器学习算法练练手,我主要采用了Andrew Ng将的logistic回归的资料和方法,数据处理则是用pandas做的主要步骤1 数据整理,数据清理和转换 python pandas和numpy完成
2014-12-12 01:03:26
1585
原创 机器学习手记[11]---PCA变换基础
#from matplotlib import pyplot as plt#from mpl_toolkits.mplot3d import Axes3D#from mpl_toolkits.mplot3d import proj3d##figure-->ax-->ax.plot##plt.rcParams['legend.fontsize']=10#fig=plt.figure(fi
2014-12-02 15:34:27
857
原创 机器学习手记[7-2]-PageRank算法再思考
机器学习手记[11]–PageRank算法再思考一、目的二、马尔科夫过程平衡两个条件三、PageRank两个问题四、从矩阵上分析两个问题五、PageRank两种方法通用解决措施六、PageRank两种方法通用解决措施七、参考一、目的之前看过一些PageRank的知识和源码,自己也动手了一遍。今天看那本mining of massive d
2014-11-19 22:23:41
861
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人