- 博客(41)
- 资源 (4)
- 收藏
- 关注
原创 编译cuda版opencv遇到的坑
CUDA编译1.安装nvidia驱动关闭图形界面,sudo stop lightdm,然后切换到tty1:Ctrl+Alt+F1即可在纯字符界面下,登陆用户;接下来就是最关键的一步了:sudo ./NVIDIA.run开始安装,安装过程比较快,根据提示选择即可(Nvidia.run版本选择,自己根据显卡型号在nvidia官网http://geforce.com/drivers中查找)最后安装
2016-12-04 21:31:21 23167 1
原创 Ubuntu上编译Caffe和拓展应用(faster-rcnn, pvanet)的错误及解决方案
Caffe错误 采用make方式编译时遇到如下错误Faster-RCNN问题 如何编译只采用cpu版本的Faster-RCNN问题运行时遇到错误ImportError No module named cv2问题编译cpu版本成功后faster-rcnn运行时遇到错误ImportError No module named gpu_nms问题1运行vgg16版本的faster-rcnn的
2016-12-02 10:22:34 12567 5
原创 第三部分 数据结构(二)
第十二章 二叉搜索树什么是二叉搜索树二叉搜索树的存储方式二叉搜索树中的遍历方式二叉搜索树操作时间复杂度随机构建二叉搜索树第十三章 红黑树红黑树的性质黑高插入删除操作分析旋转插入删除TODO目前没心情以后在补充吧这一部分确实是一个难点第十二章 二叉搜索树之前第十章我们介绍了基本的数据结构:栈,队列,链表以及有根树。并且在第十一章,介绍了基于数组和链表的数据结构——散列表。我
2017-08-16 15:52:12 434
原创 第三部分 数据结构(一)
第三部分 数据结构前言该部分主要介绍算法中常用的数据结构:数组,栈,队列,链表和有根树以及定义在这些数据结构中操作。这些操作主要分作两大类:查询操作和修改操作,常见的查询操作有search,minimum,maximum,successor,predecessor;修改操作有insert,delete。之后本部分对有根树做了详细介绍:二叉搜索树,红黑树等,并基于红黑树对数据结构的扩张进行阐述。第十章
2017-08-16 15:27:03 910
原创 第二部分 排序和顺序统计量
第二部分 排序和顺序统计量第二部分 排序和顺序统计量一些概念排序问题数据结构学习排序的目的排序算法原址顺序统计量第六章 堆排序堆排序优先队列第七章 快速排序一句话描述快速排序快速排序分析分治思想考虑快速排序快速排序伪代码循环不变性分析PARTITIONPARTITION内的迭代操作快速排序的性能最好情况划分最坏情况划分平均情况期望划分第八章 线性时间排序本章前
2017-08-16 15:15:40 1676
原创 第一部分 基础知识
第一章 算法在计算中的应用第一章 算法在计算中的应用算法的相关知识算法定义算法能够解决哪些问题多数算法问题共有的两大特征算法是一门技术附第二章 算法基础IoA中的组织思路循环不变式为了说明循环不变式IoA中以插入排序算法为例排序问题插入排序伪代码伪代码的一些约定以插入排序说明循环不变式分析算法算法设计第三章 函数的增长渐进记号定义定理性质标准记号和常用函数
2017-08-15 17:27:02 585
原创 关于ubuntu中动态链接库路径的设置以及源码编译python可用的opencv
ubuntu中设置动态链接库的路径有两种方式:在.bashrc中添加export LD_LIBRARY_PATH=lib_path:$LD_LIBRARY_PATH(其中lib_path表示动态链接库路径),保存.bashrc之后采用命令source .bashrc激活;在/etc/ld.so.conf.d添加文件some_lib.conf,并在其中写入lib_path,(some_lib可以用
2017-06-08 16:29:32 4018
原创 函数指针的应用
适用情形处理参数和返回值的形式都一样,但是功能不确定的一组函数。 比如 (1) 算术运算符,加、减、乘、除;可用typedef int (*calc)(int,int) 定义函数指针; (2)与动态注册类一起,实现“一个主函数,根据传入的命令行参数不同,执行不同功能”,具体可参看深度学习库caffe中caffe.cpp关于train/test/time/device_query等四种不同功能的
2017-05-03 15:53:10 375
原创 GMM实验
聚类实验代码: testGmm.m ——测试主函数function testGmm() X = generateData(); K = 2; gamma = gmm(X, K); %根据最大后验概率确定类别 [value,gamma_K] = max(gamma,[],2); % show result figure(3) idx1
2017-04-25 22:15:03 1293
原创 K-Means实验
实验一:聚类实验代码: testKMeans.m ——测试主函数function testKMeans() X = GenerateGaussianMixtureDataset(); K = 2; [gamma, centroids] = K_Means(X, K); % show result figure(3) idx1 = find(gamma
2017-04-25 21:38:54 1930
原创 EM算法(期望最大化)——从EM算法角度理解K-Means与GMM的区别
K-Means算法简介K-Means算法是一种常用的聚类算法,它认为由一组数据点构成的一个聚类中,聚类内部点之间的距离应该小于数据点与聚类外部的点之间的距离。假设我们有一组数据集{x1,...,xN}\{x_1,...,x_N\},我们的目标是将数据集划分为KK个类别。为了解决这个问题,K-Means算法希望找到KK个聚类的中心{μk},k=1,...,K\{\mu_k\},k=1,...,K,同时
2017-04-25 16:34:38 13242
原创 EM算法(期望最大化)——应用:GMM
GMM模型简介GMM(Gaussian Mixture Model)也叫高斯混合模型。我们(1)可以把它看做是高斯分量的简单线性叠加,其目标是提供一种比单独的高斯分布(GSM,Gaussian Single Model)更为强大的概率模型;(2)也可以利用离散隐变量来描述GMM,并从EM算法层面给出GMM模型的一种优雅解法。 首先,给出高斯混合模型的概率公式(考虑单样本): p(x|π,μ,Σ)
2017-04-24 22:20:11 2776
原创 EM算法(期望最大化)——理论部分
EM算法的目标EM算法是一种求解含有隐变量概率模型的最大似然解的方法。我们知道,当概率模型中含有隐变量时,其最大似然解是很难直接求解的。为什么很难直接求解呢? 考虑一个概率模型,我们将所有的观测变量统称为XX,参数统称为θ\theta。我们的目标是求解似然函数p(X|θ)p(X|\theta)。假设该概率模型存在隐变量,统称为ZZ。所以,p(X|θ)=∑Zp(X,Z|θ)p(X|\theta)=\
2017-04-22 20:30:17 5129
原创 深度学习脉络整理初稿
从感知机到深度学习(初稿)神经网络的提出机器学习需要解决的2大问题:回归问题 分类问题 回归问题:通过训练集学习函数y=g(x,w)中系数w,并使用y=g(x,w)来推断任一输入x所对应的输出值,输出值连续。 分类问题:通过训练集学习函数y=g(x,w)中系数w,并使用y=g(x,w)来推断任一输入x所对应的输出值,输出值离散。(对于二分类问题,一般为0或1) 不管回归或者分类,问题的
2016-12-19 23:38:30 1138
原创 关于pvanet中original model和test model的理解
疑问:1.pvanet中original model和test model有什么区别?在pvanet的README.md对于这两种模型有以下介绍:test model :For testing-time efficiency, batch normalization (w/ its moving averaged mini-batch statistics) and scale (w/ its tr
2016-12-09 22:14:25 2205
原创 解决ubuntu中多个opencv版本冲突问题
以下内容纯属自己摸索,yy。如有错误,请大家批评指正。在ubuntu中,我们经常会遇到链接库的版本冲突问题。编写的程序在编译时,也往往因为这些问题报错,或虽编译成功,但运行出错。针对这类问题,我以opencv为例,谈谈自己的解决思路,希望能给大家一点意见。首先,为什么选opencv?因为做图像处理,深度学习的研究,opencv必不可少,系统自带的opencv,如opencv-dev, python-
2016-12-05 13:08:47 6415
原创 解决can't find -lGL的问题
实验问题:运行最简单”hello world!”,出现can’t find -lGL的问题 实验阵地: ubuntu14.04+qt5.2问题分析: 出现该类问题的原因有2个: (1)没有安装libGL; (2)libGL没有正确链接。问题解答: (1)如果是问题1,这个好办。只要安装libGL即可。这个在其他博客中也都有提到。 如http://blog.sina.com.cn/s/bl
2016-12-05 11:23:30 5186 1
原创 关于Vim快捷键的一些介绍
详细请见vimtutor,终端输入vimtutorvim的四种模式1.正常模式-[Esc] 2.命令模式-[:] 3.可视模式-[v,V] 4.插入模式-[i,I] 详细请见:Vim操作的四种模式常用快捷键1.光标移动h j k l #左 下 上 右,同方向键[motion]w #向前移动1个单词(光标在单词首位)e #向前移动1个单词(光标在单词末位)[number] [m
2016-12-02 17:55:50 365
原创 Chapter3-图像变换-(1)傅里叶变换
要点: - 1.傅里叶变换与傅里叶逆变换 - 2.从连续、离散;周期、非周期方面讨论傅里叶变换 - 3.由傅里叶变换理解采样定理 - 4.唯一适用于计算机的傅里叶变换(DFT),如何处理?——循环卷积 - (其间,穿插着介绍一些必备知识,以及自己的一些思考)
2016-04-03 20:46:00 5085
原创 Chapter2-数字图像处理基本概念
要点概括: - 1.消色物体和有色物体(并分别解释加色法效应和减色法效应) - 2.图像数字化:采样和量化(均匀、非均匀) - 3.灰度直方图的概念、性质和应用 - 4.图像处理的几种算法形式:局部处理(对比分析 点处理、局部处理、大局处理或全局处理);迭代处理;跟踪处理;窗口处理和模板处理;串行处理和并行处理 - 5.图像格式:BMP格式(特别注意TIFF格式,它与其他格式的不同是,它能存储多幅影像,因
2016-03-27 19:15:12 2191
原创 Chapter1-数字图像处理概述
一. 什么是图像?图像是对客观对象的一种相似性的、生动性的描述或写真。或者说图像是客观对象的一种表示。(比如,我们眼睛看到的场景,相机拍摄的照片,按照数学模型建立的分布图,这些我们都可以称为“图像”)
2016-03-27 14:23:53 916
原创 学习笔记十:面向对象编程
1.一般可以使用派生类型对象对基类对象进行赋值和初始化。但编译器不会自动将派生类型对象转换为基类类型对象。对对象进行初始化和赋值和可以自动转换引用和指针,之间的区别是微妙的,必须好好理解。(但是我理解不了,。。。。叙述见Primer中文版第四版488页) 2.派生类只能初始化直接基类。 3.只含有类类型或内置类型数据成员,不含指针的类一般可以使用合成的复制/赋值或析构操作,而不需要特殊控制。具有
2015-11-09 12:46:32 524
转载 C++注释
下面的文章转载自: http://hi.baidu.com/buptyoyo/blog/item/fc8bdfee2ea1793326979114.html1 源文件头部注释Ø 列出:版权、作者、编写日期和描述。 Ø 示例:/************************************************* Copyright:bupt Author: Date:2010-
2015-10-28 14:21:53 499
原创 学习笔记八:试图利用C++ Primer 13.5节内容分析shared_ptr指针(共享智能指针)
C++ Primer 13.5节讲述的是管理类内指针成员的内容。作者分析了采用若采用普通的指针会导致不同对象的指针成员纠缠在一起。这时,作者通过引入一种“使用计数”的方式,介绍了“智能指针”的概念。(当然这里作者只是简单地演示了智能指针的“计数”思想,不过,从这我们也可以一窥共享智能指针shared_ptr的原理)
2015-07-06 15:37:32 729
转载 学习笔记二:跟我一起学makefile
笔记节选自http://blog.csdn.net/haoel/article/details/2889 make支持三个通配符:“*”,“?”和“[…]”。 波浪号(“~”)字符在文件名中也有比较特殊的用途。如果是“~/test”,这就表示当前用户的$HOME目录下的test目录。而“~hchen/test”则表示用户hchen的宿主目录下的test目录。(这些都是Unix下的小知识了,mak
2015-06-24 09:18:42 566
原创 学习笔记一:命名空间(namespace)之四:using declarations和using directives的区别
(本文主要参考c++ primer第17章2.4节内容。) 由前面内容,我们知道c++引入命名空间(namespace)概念的主要目的是避免命名冲突。但是当我们想要引用命名空间成员时,我们就会体会到它相比直接使用变量或函数的不便之处,特别是当命名空间名字很长时,更是如此。比如,我们有一个函数printIsbn(),定义在命名空间cplusplus_primer内,我们引用该成员函数时,要这样写:c
2015-05-21 23:07:24 7893
原创 ubuntu开机停在“ubuntu”图标上的解决办法
开机进入grub引导界面后,将光标移到ubuntu上,按下“e“,修改ubuntu系统的启动项,将quiet splash改为quiet splash text,Ctrl+X直接进入tty(文字编辑界面)。 登录帐号后,终端输入dpkg -l |grep -i nvidia查询安装的nvidia驱动信息。这个问题出现的原因大半是安装nvidia驱动后引起的。 终端输入sudo apt-get r
2015-05-10 23:14:28 7273
原创 doppia编译之四:安装其他库、编译和运行doppia
doppia编译之四:安装其他库、编译和运行doppialibSDL和protobuf在Ubuntu14.04上的安装
2015-05-10 12:10:46 3938 19
原创 将汉化版QtCreator还原为英文版(希望汉化的也可参考)
习惯了全英文的软件操作界面,看到既有中文又有英文的操作界面总会有种不舒服的感觉。当我从官网下载安装好QtCreator之后,看到中英结合的界面,顿时强迫症犯了,总是想把它变成全英的。上网问度娘,竟然从没人问过这个问题。(难道就我一个人有这样的强迫症?)后来在ubuntu上安装Qt,发现是英文的;而我在中文版win7中安装则是汉化版的,所以我猜测Qt可能会根据你安装的系统语言自动设置自己的语言。(仅
2015-04-22 20:44:36 4439
原创 线性回归
在学习NG的机器学习视频一个月后,我想对之前学习的一些知识做一次梳理,做成一个学习笔记系列。我希望它能够让我对这些知识有更好的把握,也能够给看到这篇博文的朋友些许帮助。今天是我学习笔记的第一章,之后我想从视频中提到的监督学习(线性回归,逻辑回归,BP神经网络,支持向量机)和非监督学习(K均值,主成分分析,异常检测)这两个方面来讲讲我对这些算法的理解。由于本人学习时间不长,可能会有很多理解不
2014-11-30 17:20:51 5049
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人