- 博客(353)
- 资源 (2)
- 收藏
- 关注
原创 PCA的本质----特征值分解
相信大家对PCA并不陌生,但是PCA的本质你是否了解呢?今天就给大家简单讲讲,也是自己对PCA的一个巩固。博客中使用的图片来自七月算法的程博士的PPT,在此感谢程博士课上的耐心讲解。 1、特征值个特征向量 我相信大家对于这个式子非常熟悉,但是你真正的理解这个式子了吗?特征向量和特征值到底有什么意义呢?说实话,在听程博士的课之前我一直迷惑,不过现在懂了。 首先,我们
2016-05-27 15:11:27 19655 8
原创 使用Caffe时,数据预处理小工具集合
在使用Caffe时,我们经常需要对数据进行一些预处理,我把自己写的一些小脚本放到了github上,如果有需要大家下载使用,如果你有更好的小脚本希望与我分享!连接在此:https://github.com/sunshineInmoon/Tools如果你觉得还可以请给打个星星哟......No1.CreatImagelist.py 这个不是出自我的手,但是却非常有用,可以产生
2016-05-26 16:57:56 5458 2
原创 CSV模块使用时的几个问题及解决方法
今天需要写个小脚本将.txt文件转换成.csv文件。csv模块的使用还是很简单的,大家可以参考这个博客:http://www.cnblogs.com/sislcb/archive/2008/12/15/1355481.html下面重点说一下我遇到的两个问题; 1、cvv.writer()报错import csvcsvfile = file('test.csv','wb')
2016-05-19 17:55:21 1716
原创 Caffe扩展新层
真的是被Caffe玩哭啦!。先说一下我的情况吧。我是用的Caffe是Windows版本,也许Linux版本就没有我的烦恼了。我想在训练的时候使用 BatchNormail层,由于我原先使用的是大神happynear的老版本了,但是老版本里没有Scale层,所以只能更新新版本。于是我使用官方Caffe-Microsoft版本,训练还算一切正常。但是到了应用阶段出现问题了。在命名空间caffe中找
2016-05-19 15:56:19 5505 1
原创 Caffe中卷基层和全连接层训练参数个数如何确定
慢慢填坑中,今天来仔细讲一下卷基层和全连接层训练参数个数如何确定的问题。我们以Mnist为例,首先贴出网络配置文件:name: "LeNet"layer { name: "mnist" type: "Data" top: "data" top: "label" data_param { source: "examples/mnist/mnist-train-lev
2016-05-17 15:26:24 10951 5
原创 官方Caffe—Microsoft编译安装
安装了几次Caffe-Microsoft,是该总结一下了。总的来说,安装还是十分简单的,因为我们最头疼的第三方库可以自动安装。 第一步,下载解压Caffe https://github.com/BVLC/caffe/tree/windows 第二步,下载安装cuda https://developer.nvid
2016-05-16 16:45:07 6252 1
原创 Caffe错误:error C2220: 警告被视为错误 - 没有生成“object”文件
这个问题是我在安装官方Caffe,Windows版出现的问题,具体错误提示如下: E:\NugetPackages\boost.1.59.0.0\lib\native\include\boost/format/alt_sstream_impl.hpp : error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_fu
2016-05-16 16:44:37 27326 2
原创 Windows7,Ubuntu双系统,重装Windows8.1后恢复启动项
原先电脑安装的是Windows7和Ubuntu双系统,启动项是Ubuntu的(你懂得)。由于一些原因,我把Windows7升级成了Windows8.1,结果悲剧了,启动项变成了Windows8.1,Ubuntu无法启动了。然后就是各种折腾了。 大概有两种方法:1、重新安装Ubuntu的启动项;2、使用EasyBCD 1、重新安装Ubuntu启动项,这篇博客的连接忘了,只能给大家
2016-05-16 11:52:21 968
原创 Caffe错误:Message type "caffe.SolverParameter" has no field named "name"
今天使用caffe又遇到个奇怪的问题,错误提示如下:注意错误提示,没有找到“name”,错误原因是我把参数写错了,注意最上面--caffe.exe train --solver=(这个地方应该是solver文件,而我写的是网络配置文件),改过来OK!
2016-05-16 11:03:08 10003 2
原创 Python opencv图像镜像翻转
最近在训练CNN网络,需要对数据进行扩充,于是想做一下图像的镜像翻转,主要参考了博客:http://www.cnblogs.com/xianglan/archive/2010/12/25/1916982.html 感谢博主! 不过我发现博主使用的是opencv老版本了,现在大家都是cv2了,因此我对博主的代码进行了必要的修改。 首先,说明一下,图像的镜像变化不改变图像
2016-05-12 16:37:43 10843 6
原创 Caffe错误boost::python::register_ptr_to_python<boost::shared_ptr<Blob<Dtype> > >();
今天在用Caffe- Microsoft可视化时遇到一个错误提示:No to_python (by-value) converter found for C++ type: boost::shared_ptrLayer >后来,查了不少资料终于解决了。这个问题的原因应该是boost版本的问题,我们需要修改caffe/python/caffe/_caffe.cpp 源文件。注意:我这里提
2016-05-12 10:15:56 2417
原创 Python模块学习系列(8)----argparse模块
boost库很好的支持C++的命令行解析,能使我们的程序用起来更酷。最近一直想Python里也用上命令行,这样就不用再IDE里修改输入参数了。记得前面介绍过使用os模块也能解析命令行,但是那个比较简单,今天我们介绍的argparse模块是python中专门用来解析命令行的。首先给大家贴出一段代码及运行结果,让大家有一个直观的感受。#!/usr/bin/env python"""Draw
2016-05-06 17:45:14 4868
原创 机器学习----SVM(3)核函数
本文主要参考了了博客:http://blog.pluskid.org/?p=685 更详细的讲解可以参考原博客。 1、为什么引入核函数呢? 为了回答这个问题,我们先来说明什么是线性不可分数据。如下左图所示,如果数据能用一条直线或一个超平面分开的数据,就是线性不可分数据。那么什么是线性不可分数据呢?如下右图所示,我们无法用一条直线或一个超平面分开的数据。
2016-05-05 14:52:02 4922
原创 机器学习----SVM(2)从原始问题到对偶问题的转换
SVM的水真是太深了,只能一点一点的解决了,今天这篇博客简单讲解SVM的目标函数从原始问题到对偶问题的转换。在这里再给大家一个大牛的博客链接:http://blog.pluskid.org/?p=6851、转化对偶问题上篇博客中我们得到的目标函数:(1)我们在优化时喜欢求最小值,将上式转化正等价的求最小值如下: (2)对于(2)式,这是一个凸二次规划问题,我们可以
2016-05-05 12:15:32 21193 9
转载 机器学习----SVM(1)
以前觉得SVM没有什么,就是计算一个分类超平面而已,但是最近深入学习研究,才发现里面的理论太深了。不过还好,有位大牛的博客帮了很大的忙。强烈推荐大家仔细研究这篇博客,我的博客是在我对了这篇博客后自己的理解,也可以说是大牛博客的精简版。大牛的博客分成了三部分,层层递进。为了便于大家理解,我将三部分分成了三篇博客,同时对原博客的讲解内容和顺序做了一些调整。说了这么多还没给出大牛的博客链接:http
2016-05-04 15:39:49 2651 1
原创 caffe微调网络时的注意事项(持续更新中)
最近在微调遇到了一些困难,在此做一个记录,与大家分享! 第一个,微调数据的准备 微调的目的是使别人训练好的模型更适合自己的数据,因此,微调的数据一般都是适合自己应用的数据。但是,大牛建议,在微调是不要全部使用自己的数据,应该将自己的数据和原始训练数据混合在一起,并逐步增加自己的数据的比例,这样效果可能会好一些。 第二个,网络的修改 微调是在已经训练好
2016-05-04 11:04:20 9787 4
原创 机器学习----Softmax回归
本篇博客主要是参考吴恩达教授的Ufldl教程,教程链接如下:http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92OK!开启,本次的学习之旅吧! 1、Softmax回归解决什么问题呢?通过前面的学习,我们知道线性回归解决的连续值的预测,逻辑回归解决的是离散值的预测,而且针对二分类问题。那么问题来了,
2016-04-30 16:59:27 6505 2
原创 机器学习----逻辑回归
上一篇讲的是线性回归,这一篇讲逻辑回归。这两者有什么区别呢?简单的说一个是预测连续值,一个是预测离散值。线性回归由于最后得到的是一个预测函数,因此可以预测连续值,逻辑回归是一个分类器,最后输出的是类别。 逻辑回归主要针对的是二分类问题,即分类结果只有{0,1}两类。所以我们很自然的想到如果我们的预测函数的输出范围在0-1之间,然后在0-1之间选定一个阈值,预测值小于阈值的认为是0
2016-04-29 15:05:41 1623
原创 机器学习----线性回归
前段时间其实已经写过三篇关于回归类问题的博客,但是那三篇主要注重的是代码练习。本篇博客注重的理论分析。而且对各类回归问题做一个总结,包括一元线性回归,多元线性回归,逻辑回归,岭回归,softmax回归。以前在学习的时候感觉这部分很通畅,没遇到什么大问题,但是昨天复习的时候竟然被几个简单概念给卡主了,最后还是开了吴恩达教授的视频才恍然大悟的,哎正不知道该说什么了。在正式分析之前,先简单讲几个概念
2016-04-29 11:39:12 1947 2
转载 机器学习算法----贝叶斯网络
本文转自:http://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html原文作者:张洋说实话贝叶斯网络还没有完全搞懂,在这里只给大家一个简单的解释。1.1、摘要 在上一篇文章中我们讨论了朴素贝叶斯分类。朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应用中几乎
2016-04-28 17:33:22 5764
转载 机器学习系列----朴素贝叶斯分类器
本文转自:http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html#3411304 原作者:张洋还是和上一篇一样,我们需要增加自己的理解,否则我们只是简单的复制粘贴而已1.1、摘要 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类
2016-04-28 16:23:06 1598
转载 机器学习系列----决策树
本来想自己写点东西,但是网上发现一片博客,写的通俗易懂,因此又偷懒了。先把大牛的博客连接给大家:http://www.cnblogs.com/leoo2sk/archive/2010/09/19/decision-tree.html 决策树的原理很简单,但是当我自己编程的时候,发现碰到了很多问题。读了这篇博客,发现原来是自己对ID3算法的一些细节没有弄懂。我会在原文的基础加上自己的
2016-04-28 11:52:04 715
原创 机器学习系列----KNN算法
今天,介绍KNN算法。KNN是机器学习算法中相对简单的一种算法,非常容易理解。 KNN的全称是K-Nearest Neighbor,也称之为K最近邻算法。在网上搜索了很多资料,但是觉得讲的都不太通俗。下面这个个人觉得讲的还是比较通俗易懂的。 KNN算法的基本思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类
2016-04-27 17:17:10 687
原创 机器学习系列----准备知识(1)
机器学习已经很久没有复习了,这周开始准备复习一下机器学习的算法。主要参考了机器学习实战这本书,慢慢填坑吧!磨刀不误砍柴工,先补补准备知识。今天这篇博客主要介绍下,分类和聚类的区别。 分类( Classification) 分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个类中。它找出描述并区分数据类或概念的模型(或函数
2016-04-27 14:59:34 674
原创 scrapy使用时的一些错误及解决方法
最近,想用爬虫在网上爬点数据下来,因此粗略的学习了一下scrapy。网上这方便的资料有很多,在这里就不一一贴出来了,大家可以自行去查找。在这里我只想介绍下我遇到的一些问题和解决方法。第一个,安装问题。在网上找了很多资料,大部分都是在python的基础上安装各种库。而我安装的 Anaconda,发现里面很多库都已经安装好,因此,我们只需要使用命令 pip install scrapy
2016-04-26 14:30:35 16658 4
原创 VS下release版本调试设置(中英文版都有)
中文版转自:http://blog.csdn.net/huangxy10/article/details/7616633设置在Release模式下调试的方法:1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)3.c++ -> 优化 -〉优化 选 禁止(/Od)4.连
2016-04-15 14:47:21 1616
转载 流形学习-高维数据的降维与可视化
本文转自:http://blog.csdn.net/u012162613/article/details/459208271.流形学习的概念流形学习方法(Manifold Learning),简称流形学习,自2000年在著名的科学杂志《Science》被首次提出以来,已成为信息科学领域的研究热点。在理论和应用上,流形学习方法都具有重要的研究意义。假设数据是均匀采样于一个高维
2016-04-15 11:06:51 5818
转载 利用boost.python 扩展python
前两天,写了一个利用boost.python封装C++函数供Python调用。今天,需要学习boost.python封装C++的类,供Python使用。因此,又是查了一堆资料。讲的比较简洁http://blog.sina.com.cn/s/blog_71cc5f2101018jkp.htmlboost官方文档http://write.blog.csdn.net/postedit?ref=t
2016-04-14 16:13:59 2824
原创 如何在Python中使用静态变量在计数
今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题。如何在Python中使用静态变量来计数。然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量。说实话没有看太懂,另外我想如果用类成员当做静态变量来计数是不是很麻烦,我们还要编写ADD()函数,来实现加1操作(因为要计数吗?)。其实,主要原因还是没有看懂如何用类成员的方式实现静态变量,因此,我放弃了这种
2016-04-13 19:07:09 8796
原创 自己的程序出现0xc00007b怎么办?
相信,很多朋友和我一样,曾经遇到过如下的问题:在网上找了很多方法,但是这些方法主要针对运行游戏是如果出现这个问题的解决方法,但是如果你自己写的小程序也出现了这个问题怎么办呢?这真的曾经困扰了我很长时间,最近,在很偶然的情况下解决了这个问题。首先,如果你遇到这个问题,请检查你的程序是Debug还是Release,如果是Debug模式下,请改成Release试试,也许你会得到满意的结果。
2016-04-13 18:05:10 4598
原创 移植自己的.exe文件到别的文件夹,或其他计算机
在此先声明,移植到其他计算机我并没有尝试,但是应该不会有很大问题,其实移植到其他计算机出现的最多问题就是找不动态库(dll),解决方法有两个:第一个,将需要的动态库和.exe文件放在一起就OK了。很多人会说,我怎么知道需要哪些动态库,其实只要你双击.exe文件,如果缺少动态库,会有提示的,我们只要根据提示,自己找到动态库,并复制到.exe所在文件夹即可。 第二个,就是把需要动
2016-04-12 19:06:16 2061
原创 警告:MemoryData does not transform array data on Reset()
最近在使用caffe的MemoryData层是出现了MemoryData does not transform array data on Reset() 警告信息,但是并不影响最后的结果。经过查询源码得知if (this->layer_param_.has_transform_param()) { LOG(WARNING) type() << " does not transfo
2016-04-12 18:49:09 2622
原创 boost C++中嵌入python
昨天总结了利用boost.python在python中调用C++函数http://blog.csdn.net/sunshine_in_moon/article/details/51124114。今天总结一下在C++中嵌入python的各种坑。 和上篇博客一样,先给大家一些博客连接,是我查找的资料: 第一篇,特点讲述里C++中调用python的两种方法,我主要是参照第
2016-04-12 11:50:08 2433
原创 利用boost.python封装C++函数供python调用
今天需要在python里调用一个c++函数,因此各种查资料,发现boost.python库的使用还是很简单的。在这总结一下,以供大家参考。给大家几个链接,在这里提醒大家,很多资料由于时间久远,可能boost的版本比较低,较高版本的boost里的函数用法可能已经发生了变化,大家要注意,如果有什么问题,大家多多问问百度,谷歌。 第一篇博客的特点是,讲了简单的环境搭建。http:/
2016-04-11 19:33:22 6911 3
原创 利用boost 编写自己的 --help
网上关于这方面的资料网上有很多,在这里给大家几个链接: http://blog.csdn.net/wangxvfeng101/article/details/11979487 http://blog.chinaunix.net/uid-10275706-id-3702543.html http://www.oschina.net/code/snippet_
2016-04-11 16:30:27 851
原创 fstream对象作为函数参数的问题汇总及解决方法
今天想写一个多线程读取一个文本文件,需要fstream对象作为函数参数,出现了编译错误,查询了网上很多资料,在此汇总一下。 #include #include #include #include #include #include #include using namespace std;boost::mutex mt;void Print(fstream
2016-04-09 17:44:36 4946
转载 C++ 读写文件
本文转自:http://www.cnblogs.com/ifeiyun/articles/1573134.html http://www.cnitblog.com/wufajiaru/archive/2009/04/15/56390.aspx例外还有一个非常棒的博客:http://blog.csdn.net/kingstar158/article/details
2016-04-09 17:12:19 2654
转载 C++11(boost)中的原子操作(atomic operation)
本文转自:http://blog.csdn.net/yockie/article/details/8838686所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作
2016-04-09 16:12:52 2847
原创 Python 带参主函数
在C++中有带参主函数,这对于写个小工具很重要,最近想在Python中也写个带参主函数!经过查询资料,原来Python带参主函数和C++中的差不多,更简单。 import sysif __name__ == "__main__": if len(sys.argv) == 3: print sys.argv[1] print sys.argv[2]
2016-04-09 14:33:10 4331
转载 Opencv 任意比例旋转图像
本文转自:http://blog.sina.com.cn/s/blog_400b87c20100cdr4.html最关键的设置是:cvMat 2行3列的矩阵的值,这是就是计算机图形学里面的变换矩阵。具体见帮助手册 cvGetQuadrangleSubPix 词条void CCannyDoc::OnConvert() { //声明IplImage指针 IplImage * src
2016-04-05 14:41:19 1443
Caffe-Windows下画loss和accuracy曲线python代码
2016-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人