自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (15)
  • 收藏
  • 关注

原创 OpenCV Image Flip 图像翻转

需要使用到OpenCV的图像翻转操作,查了一些flip函数的文档,发现非常confusing,不明白到底0是水平翻转还是1是水平翻转。 最后不得已自己实验才弄清楚。OpenCV 图像坐标系在OpenCV里面,坐标系的原点在左上角,row为Y轴,col为X轴。从左上角往下,Y变大,往右,X变大。 这和python里面很多其他的图像处理库不一样,比如PIL和skimage,这些库是py...

2018-07-12 23:42:33 3529

原创 sigmoid_cross_entropy_with_logits and weighted_cross_entropy_with_logits

当样本的 labels 是多个独立的二分类问题时,loss 函数之前的激活函数应该是 sigmoid/tanh,而不能使用softmax了。如果激活函数是sigmoid,这种情况下我们的loss函数就是sigmoid_cross_entropy_with_logits。Tensorflow中,logits都是指未经过激活函数的输出,即所谓的 unscaled。sigmoid_cross_entrop

2018-01-03 12:00:10 4266

原创 Batch Normalization

Batch Normalization 被认为是一种加速网络收敛速度的很好的方法。关于BN的原理在原论文中有很详细的介绍。网上也有很多介绍的博客。简单来说,BN是对feature按照空间位置进行规范化。但是需要注意的是,对于CNN网络,BN的操作是比较特殊的。具体说来,对于卷积层,我们希望BN能够和卷积一样,对于feature的不同空间位置处的值具有同样的效果。为了做到这一点,我们在规范化时,对每一

2017-12-28 00:56:21 682

原创 improved partition in quick sort

original solution参考算法导论实现的分组算法int partition(vector<int>& nums, int p, int r) { int x = nums[r]; int s = p - 1; // the last smaller for (int k = p; k < r; ++k) { if (nums[k] <= x){

2017-09-29 10:15:39 511

原创 ssh login server without password

用ssh命令登录server的时候,每次都需要输入密码,严重影响了工作效率。其实可以让server记住自己的机器,从而避免每次都输入密码。本地机器密钥文件在命令行中输入:ssh-keygen -t rsa 就可以产生密钥文件,可以直接回车使用默认路径来存放密钥文件。Generating public/private rsa key pair.Enter file

2017-09-29 06:51:32 1290

原创 二叉树的遍历-Recursive/Iterative/Morris

二叉树是常见的数据结构,二叉树相关的算法题目也是非常常见的。下面总结以下二叉树的前序/中序/后序遍历方法,分别用递归(O(n) Space),迭代(O(lgn Space)),Morris(O(1) Space)方法实现。二叉树遍历的时间复杂度都是O(n),不同方法的区别主要是在空间复杂度上。递归遍历递归是一种非常直观的方法,也是最容易实现的方法。递归的方法的空间复杂度为O(n)。 节点的定义如下

2017-09-25 09:43:52 1745

原创 GAN and CGAN on MNIST dataset

GAN and CGAN关于GAN和CGAN的教程网上有好多,感兴趣的可以自己去找着看看。最重要的是要弄清楚,GAN是干嘛的?作者在论文和NIPS2016 tutorial里面都讲了很多设计GAN的初衷。简单来说,GAN就是用来拟合样本的分布的。看了论文总觉得理解得不够透彻,就在网上找了一些简单的程序跑了跑,下面就直接来说说程序和实验结果吧。GANGAN的结构如下图所示。 实验数据集采用了MNIS

2017-09-21 10:11:55 2701

原创 TensorFlow softmax VS sparse softmax

Difference between sparse_softmax_cross_entropy_with_logits and softmax_cross_entropy_with_logits差别在tensorflow中使用softmax loss的时候,会发现有两个softmax cross entropy。刚开始很难看出什么差别,结合程序看的时候,就很容易能看出两者差异。总的来说两者都是计算分

2017-09-06 07:39:44 11257 1

原创 Android调用Camera APIs实现拍照功能并上传图片

用安卓写了一个简单的APP,主要功能是拍照并上传图片。拍照部分功能直接调用系统Camera APIs,上传图片功能部分使用的httpmime。Activity and Intent安卓程序中,有两个重要的东西需要弄清楚,一个是Activity,一个是Intent。Activity定义了用户和应用交互的逻辑,有点类似与网页前端,是和用户进行交互的界面。不用的是安卓中的Activity有不同的状态,比如

2017-05-16 14:52:27 906

转载 Setup OpenCV SDK in Android Studio project

Open Source Computer Vision (OpenCV) is a library used for computer vision and machine learning. It has many optimized algorithms which can be used to perform tasks easily. In the first part of this tu

2017-05-16 11:11:33 851

转载 SVM中的Dual

在之前关于 support vector 的推导中,我们提到了 dual ,这里再来补充一点相关的知识。这套理论不仅适用于 SVM 的优化问题,而是对于所有带约束的优化问题都适用的,是优化理论中的一个重要部分。简单来说,对于任意一个带约束的优化都可以写成这样的形式:mins.t.f0(x)fi(x)≤0,i=1,…,mhi(x)=0,i=1,…,p\begin{aligned}\min&f_0(x

2017-05-13 22:24:09 4813

转载 Sqlite3 C++ 使用方法

需要在 C++ 程序中读写 sqlite3 数据库,查阅了一下资料,发现了一个简单实用教程。另外还有如何在windows下生成sqlite3静态库。windows下生成sqlite3静态库去 sqlite 官网下载页面下载源文件 sqlite-amalgamation-3180000.zip 。在VS2013中,文件->新建->项目->Win32项目,命名为sqlite3(其他名称也行)。在向导

2017-05-12 11:15:19 10374

原创 C++ 实现文件的复制和移动

想实现一个文件的复制和移动的函数,来处理文件,可惜电脑上面没有安装Matlab,就想用 C++ 来实现这个功能。分别使用 C 里面的 rename 函数和 C++ 中的 stream 来实现。rename 就是简单的修改文件名,如果文件路径包含在文件名中了,那么就可以修改此路径实现文件移动的功能。 stream 的方式就是先读入文件,再写入新文件,可以设置是否保留源文件。^_^#include <

2017-02-26 19:44:18 12539

原创 Visual Studio: MSB3073 error exited with code 1

Error 1 error MSB3073: The command “setlocal “C:\Program Files (x86)\CMake\bin\cmake.exe” -DBUILD_TYPE=Release -P cmake_install.cmake if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal & call :c

2017-02-23 16:50:25 4958 4

转载 Ubuntu16.04 编译安装GCC 5.3.0

http://blog.csdn.net/striker_v/article/details/51920627

2017-02-16 19:42:26 11408 9

原创 递归读取文件夹下所有文件

有时候需要获取一个文件夹下的所有文件,甚至需要获取特定类型的文件。下面介绍两种分别在 Linux 和 Windows下可以运行的程序实现。Linux C在 Linux 中可以使用 opendir,readdir,closedir 来实现.函数原型:int alphasort(const struct dirent **, const struct dirent **);int

2016-12-29 11:14:49 951

转载 Ubuntu增加Swap空间大小

Swap空间大小不够用了,想增加Swap空间大小,又不想重新安装系统。网上找到一个解决的办法^_^1.首先用命令free查看系统内 Swap 分区大小  free -m   total used free shared buffers cached   Mem: 2012 1960 51 0 748 950   -/+ buffers/cache: 260 1751   Swap: 255

2016-12-13 15:42:40 39420 2

原创 链接提示 extern "C"

在 C++中调用 C 代码时,需要给编译器指定C代码要按照C语言的编译器编译,否则编译器会将C代码按照默认的C++编译器来编译C代码,这样在调用C代码时,会发生链接错误,找不到函数定义,因为C++编译器和C编译器对函数编译的过程都一点点区别。 下面先讲一下为什么会发送找不到函数定义的错误,进而弄清楚为什么需要extern “C” 来指定C编译器,然后再讲一个简单的例子说明如何使用 extern “

2016-10-10 16:24:31 736

原创 Jsoncpp 使用方法大全

JsoncppJson(JavaScript Object Notation )是一种轻量级的数据交换格式。简而言之,Json组织形式就和python中的字典, C/C++中的map一样,是通过key-value对来组织的,key是任意一个唯一字符串,value可以是bool,int,string 或者嵌套的一个json。关于Json 格式可以参考官方网站。 Jsoncpp 是一个用来处理 Js

2016-10-07 15:04:43 40390 5

转载 C++ 虚函数表 vfptr

前言大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处!既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C++是从C语言的基础上发展而来的

2016-09-25 10:14:18 21477 19

原创 Red Black Tree

最近面试被问了好多遍红黑树,收集下资料,以后慢慢研究…Referncehttp://www.teachsolaisgames.com/ http://www.cs.princeton.edu/~rs/talks/LLRB/RedBlack.pdf http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf

2016-09-19 20:08:26 635

原创 Binary search and lower_bound, upper_bound

传统的二分查找是为了寻找目标数在一个有序数组中是否存在的问题。返回值为布尔型变量(true or false)。但是有时候需要知道更多信息,比如如果存在,那么在数组中该数出现的第一个位置(left most)和最后一个位置的索引是多少?如果不存在,那么如果把该数插入到数组中去,应该插入到哪个位置?所以需要深入一步探索二分查找算法。C++中给出了几个库函数binary_search(),lower_b

2016-09-13 19:35:10 715

原创 C++ priority_queue

template <class T, class Container = vector<T>, class Compare = less<typename Container::value_type> > class priority_queue;优先队列默认采用vector实现,是最大堆。Priority queues are a type of container adaptors, spe

2016-09-07 11:08:04 527

原创 C++ set and multiset

简单来说 set 是一组有序数的集合,集合里的元素没有重复的,而 multiset 则允许元素重复。因此multiset在一些操作上要注意和set的区别。定义template < class T, // set::key_type/value_type class Compare = less<T>, // set::

2016-09-07 09:51:24 498

原创 LeetCode 324. Wiggle Sort II

Problem DescriptionGiven an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]….Example: (1) Given nums = [1, 5, 1, 1, 6, 4], one possible answer is [1, 4, 1, 5, 1, 6].

2016-09-03 17:38:48 864

原创 Fabonacci 数列问题

今天面试,被问到求fabonacci数列的第n个数这个问题,当时用O(n)复杂度的迭代方法做出来了,然后面试官继续问了如何实现O(log(n))的时间复杂度的算法,最后还问了n大概为多大时结果就会溢出(用unsigned int来保存结果)。Fabonacci数列Fabonacci数列是指数列中的任一项都等于前两项之后,通项公式为: F(n)=F(n−1)+F(n−2)F(n) = F(n-1)+

2016-09-02 22:04:16 1564

原创 Coding练习题-钻石重量比较

小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号。最后给定之前的比较次数n。请返回这两颗

2016-08-01 10:51:45 1007

原创 CS231n Class Notes- lecture11 ConvNets in Practice

这节课主要讲了一些在实际使用 CNN 时的技巧,可以加速训练网络。很多内容需要图解,所以我就直接截图了。所有图都是从 CS231n lecture 11的课件中截取的。The power of small filtersThree 3 x 3 conv gives similar representational power as a single 7 x 7 convolution 这是在 V

2016-07-30 20:59:35 1721

原创 Understanding LSTM Networks

学习RNN,发现一个很好的 LSTM 讲解。

2016-07-29 11:04:11 453

原创 Leetcode168. Excel Sheet Column Title

Probelm DescriptionGiven a positive integer, return its corresponding column title as appear in an Excel sheet. For example:1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB Thinking:这个问题是 Easy 型的,也

2016-07-20 19:42:14 488

原创 cs231n - assignment1 - neural net 梯度推导

Implementing a Neural Network In this exercise we will develop a neural network with fully-connected layers to perform classification, and test it out on the CIFAR-10 dataset.这里开始采用矩阵的形式来推导梯度,而且将

2016-07-18 19:19:10 8539 3

原创 cs231n - assignment1 - softmax 梯度推导

Softmax exercise Complete and hand in this completed worksheet (including its outputs and any supporting code outside of the worksheet) with your assignment submission. For more details see the assig

2016-07-16 15:19:07 16497 23

原创 cs231n - assignment1 - linear-svm 梯度推导

Multiclass Support Vector Machine exercise Complete and hand in this completed worksheet (including its outputs and any supporting code outside of the worksheet) with your assignment submission. F

2016-07-15 22:59:27 8929 6

原创 cs231n - assignment1- k-Nearest Neighbor Classifier 梯度推导

assignment web pagek-Nearest Neighbor (kNN) exercise Complete and hand in this completed worksheet (including its outputs and any supporting code outside of the worksheet) with your assignment submis

2016-07-14 20:07:23 1252

原创 Google gflags usage on windows

gflags 是 google 的开源项目,用来解析程序的命令行输入参数。传统的方法是手工解析argv参数,或者使用getopt函数。两种方法都比较费劲。使用Google gflags可以大大简化命令行参数处理。下面主要记录如何在windows下利用CMake编译gflags,并用CMakeLists来使用gflags,以及基本的使用方法。Complie gflags By CMake在github

2016-07-01 14:06:14 3925

原创 Matlab mex -setup 找不到编译器

Matlab mex -setup 找不到编译器在Matlab中使用mex编译使用 c/c++ ,首先要设置编译器,mex -setup.但是有时候会遇到找不到编译器的错误,错误原因有很多。我的电脑上先安装Matlab 2016a,后安装的visual studio 2013,所以Matlab找不到编译器。可以卸载掉Matlab然后重新安装,就可以了。但是我那要很长时间。 其实可以直接修改下配置文

2016-06-11 11:20:42 66104 27

原创 Matlab 设置默认工作路径

Matlab 设置默认工作路径找到 %INSTALLNATION_PATH%MATLAB\R2016a\toolbox\local 下的 matlabrc.m 文件,在文件最后加上一句 cd %YOUR_NEW_PATH%; 然后重新启动Matlab即可。比如我的电脑上:

2016-06-10 21:52:41 4609

原创 [论文阅读]Camera Pose Voting for Large-Scale Image-Based Localization - ICCV2015

这是我在组会上讲的文章,当时跟着论文的行文思路来讲的,可惜没能讲得很清楚。现在打算用我自己的思路来介绍这篇文章。通过总结,进一步提升理解。Image-Based Localization首先介绍一下什么是Image-Based Localization。随着计算机视觉的发展,现在人们可以利用 SfM(structure from motion) 技术利用场景的图片集合来进行三维重建,得到场景的点云模

2016-06-07 17:26:17 3373

转载 Dissecting the Camera Matrix

Camera MatrixSo, you’ve been playing around a new computer vision library, and you’ve managed to calibrate your camera… now what do you do with it? It would be a lot more useful if you could get at the

2016-05-08 14:49:33 2024

原创 我的C++学习路线

记录我学习C++的过程。希望对那些想学习C++的人能有一些参考价值。 首先需要说明的是,C 和数据结构我有一点点基础。C++ Primer 5th Edition首先要说明的是,我不是从零基础学习C++,本科学习学习过C语言,对C有一定的了解和基础。所以在学习C++的时候,我没有还太多时间纠结基本的语法。 对于同样有C基础的人,建议直接看Primer,看得很快,就像翻小说一样。主要是了解C++的

2016-05-01 20:25:19 1921

安卓拍照上传功能

用安卓写了一个简单的APP,主要功能是拍照并上传图片。拍照部分功能直接调用系统Camera APIs,上传图片功能部分使用的httpmime。

2017-05-16

sqlite3 c++ API 静态库

sqlite3 c++ API 静态库,VS2013 X64

2017-05-12

httpmime-4.3.jar

httpmime-4.3.jar

2017-04-27

STL源码剖析 中文清晰 带书签

2017-02-09

cs231n deep learning assignment1

deep learning assignment1 for stanford cs231n class

2016-07-22

windows下编译好了的sba-1.6

在windows下用 visual studio 成功编译好了的sba1.6。包含生成好的.lib文件和sba源代码,和CMKAE生成的VS工程,可以直接编译~

2016-04-21

Tukey's Biweight Correlation and the Breakdown

Tukey是M估计的一种,比最小二乘法更加鲁棒,在PTAM中作者用到了Tukey biweight objective function

2016-04-20

场景流经典教材

德国慕尼黑工业大学计算机视觉教授Cremers和他的博士生写的书,关于场景流(scene flow)的入门教材。scene flow 可以用来做运动分析,3D感知。

2016-04-20

MPI与OpenMP并行程序设计pdf

MPI与OpenMP并行程序设计中文电子书,讲得很不错

2016-03-10

OpenMP tutorial

OpenMP tutorial 是一个通俗易懂的openMP教学文档,还有配套的讲解视频:https://www.youtube.com/watch?v=nE-xN4Bf8XI&list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG

2016-03-10

最新版bundler,windows下可运行

最新版的bundler,可以在windows下面通过cygwin运行,也可以用vs2013运行、调试。

2016-01-04

深度学习最佳中文入门教程-斯坦福大学

深度学习最佳中文入门教程,翻译的英文资料,来自斯坦福大学的资源。深度学习入门的不二选择。

2015-12-24

微控制器的GPRS无线上网

详细介绍微控制器的GPRS无线上网原理和源代码。

2012-07-15

GPRS模块SIM300硬件分析.doc

GPRS模块SIM300硬件分析.doc

2012-03-24

Quartus_II软件使用教程

Quartus_II软件使用教程.pdf

2012-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除