计算机科学与技术硕士,专注计算机视觉(目标检测、深度学习),关注Linux环境下各算法配置。
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 又是斐波那契...稍微变形一下。 class Solution { public: int rectCover(int number) { if(nu...
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 很裸的斐波那契数列。 class Solution { public: int jumpFloor(int number) { if(number
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 考察平衡树的概念和递归的使用。平衡树是指,树中的每个节点的左右子树的高度差小于等于1。 class Solution { public: bool IsBalanced_Solution(TreeNode* pRoot) { ...
题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 这题目简直没事找事...为啥这么说,因为没有限制的话用等差数列求和公式直接算出结果,有限制的话是希望用递归的思想来做。
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 直观思路就是把二进制表示从右往左统计1的个数。直接想到移位操作来迭代处理。坑点在于负数的移位操作会填充1。有人贴出了逻辑移位操作,但还是麻烦。
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 很基本的STL容器操作了,应该可以1A的,但是忘记返回值的时候,clang的报错感觉并不友好啊。。 class Solution { public: void push(int node) { while(!stack2.
题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。不能使用除法。 这题不准用除法,那么就转化。
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 其实题目很水...就是一个等比数列通项公式嘛 f(0)=1 f(1)=1 f(n)=f(0)+f(1)+.
剑指offer简单题,但是能一下写对也需要小心考虑细节。 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / 6 10 / \ / 5 7 9 11 镜像二叉树 8 / 10 6 / \ / 11 9 7 5 /* st...
弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复。 【题目】 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 【思路】 直觉想到用二进制的位运算。
之字形层次遍历二叉树:层次遍历二叉树,并且奇数行为从左到右(根节点为第一层),偶数行为从右到左。 先写一个容易实现的,参照《编程之美》3.10分层遍历二叉树的做法,先编写一个用来处理制定层的函数,然后逐层调用这个函数即可。
phpmyadmin页面登录不进去,ftp也连不上。而服务端的service都开着的。直觉是看一下硬盘使用情况。 df -TH 发现可用空间几乎为0 但是查看各个目录使用情况: du -sh /* | sort -nr 发现总量加起来明明很少啊 是因为有些进程占用了。
准备好vs2013+anaconda2+好点的显卡(比如GTX970) 先改造caffe-rfcn以支持cudnn5,得到caffe-rfcn-cudnn5:替换个别代码文件和代码;改.props 再用rbg的py-faster-rcnn所依赖的caffe-py-faster-rcnn(这个名字我自己起的,方便区分),里面的SmoothL1Layer的3个文件替换caffe-rfcn-cudnn5的 再编译py-faster-rcnn的lib,先前装了vc9for python要卸掉,gpu_nms.cu从github上找。
2017年1月13日 15:46:04github.com/Microsoft/caffe这版现在不算是BVLC/caffe的官方windows分支;官方windows分支是一个叫willyd的家伙在维护的然而matlab支持还没有(感觉越搞越落后?)。
matcaffe是caffe的matlab接口。caffe本身是C++写的,其blob的维度顺序是[N,C,H,W],N表示batchSize,C表示channel数目,H表示feature map的Height, W则是width 而在matcaffe中,blob的顺序则是[W,H,C,N]。
一个很naive的代码,用来做ftp的“主->从 下载,从->主 上传”。ftp可不像mysql那样还有log可以用,所以完全naive的做法:连到ftp server然后递归列出所有目录,和维护的文件列表对比,有新增文件就下载到从服务器(其实是本地PC,囧);然后从服务器也列出目录下文件列表,和维护的文件列表比较,有新增就上传。
简单说,用flashfxp建立上传或者下载队列,然后设定一个定时任务来处理这个队列,就能同步下载或上传制定的目录了。 本人遇到的需求只需要做同步上传,记录如下: 开发者PC ---> 国内win server --->法国ftp server A B C A是普通开发者,或者美工啥的,希望把本机上弄好的图片等文件传输到法国的ftp服务器上。
caffemodel是二进制的protobuf文件,利用protobuf的python接口可以读取它,解析出需要的内容 不少算法都是用预训练模型在自己数据上微调,即加载“caffemodel”作为网络初始参数取值,然后在此基础上更新。
py-faster-rcnn本身代码很棒。 不过使用它的时候,还是需要自己写一些脚本,作为辅助。 1 所有.py文件顶部添加utf8编码声明。因为有时候需要添加中文注释,不声明编码会报错 #insert_utf8_at_first_line.sh sed -i '1i #coding:utf-8' `find . -name '*.py'` 2 清除缓存文件:每次训练时,如果有前面一次遗留的缓存文件干扰,几个小时的训练可能要白费了。
faster-rcnn在训练阶段,根据一个solver的prototxt文件创建相应的网络。仅凭一个prototxt就创建网络?其实还涉及到自定义的PythonLayer. 比如lib/rpn/anchor_target_layer.
本文并不给出“编写一个c++代码,然后编译为.so文件,然后在python中引入”的hello world,需要的请参考:http://www.oschina.net/question/437227_124449 本文意在强调,python的import,引入的不仅是.
Boost.Python简单概括:是Boost库的一部分;用来在C++代码中调用python代码以及在Python代码中调用C++代码,并且避免用户直接操作指针。 以下内容搬运自:https://wiki.python.org/moin/boost.python/GettingStarted 简介 BoostPython库让C++和Python几乎无缝结合,是Boost库的一个功能。
严格讲应该是“通过函数调用,改变引用对象”。python中,要区分“变量名“和”对象“ 如果是类的对象,是引用类型的,那么可以通过函数调用,来改变它的值: # coding:utf-8 class Zhuo: def __init__(self): self.
窗口最大化:ctrl+win窗+↑ 窗口还原:ctrl+win窗+↓ 这快捷键让人无语。好好的gnome被改造成unity,快捷键也改掉了。win窗+↑/↓为啥不用呢? 还有就是terminal的tab之间的切换,原本gnome下用ctrl+PageUp/PageDown。
先在ubuntu下配置好cuda、cudnn以及py-faster-rcnn,然后安装pycharm。 打开pycharm看py-faster-rcnn代码,import处各种红色下划曲线,提示报错。为啥呢?因为用的东西,不在搜索的path中。
按matconvnet官网上的步骤来,编译代码的时候会发现编译失败。 参考这条issues 以下是我的解决方案: I use ubuntu16.04 with x64 architecture. I installed matlab2016b, with cuda7.
常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfunmatlab函数 bsxfun浅谈 bsxfun是一个matlab自版本R2007a来就提供的一个函...
pva-faster-rcnn配置安装及训练自己的数据集 YOLOv2如何fine-tuning? Faster-RCNN+ZF用自己的数据集训练模型(Matlab版本) Faster-RCNN+ZF用自己的数据集训练模型(Python版本)
在ubuntu下配置yolo(v2)的时候,编译了源码后,尝试运行demo: ./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg 结果报错提示: couldn't open file: data/coco.names google上找不到同样的问题。
在DeepLearning的文章中有看到end2end一次,作者们似乎都比较喜欢这个end2end learning的方式。那么到底啥是end2end? 找了一下相关论文,没找到专门讲这个概念的,看来应该不是很严格定义的一个说法。
VOC2007数据集使用mAP值作为检测算法检测结果的性能评估得分。mAP意思是mean Average Precision,Precision是指精度,Average Precision是指11个等分候选点上的精度,mean Average Precision是指所有类别的AP的平均。
转载自http://blog.csdn.net/u010733679/article/details/52221404,经过实际操作,采用了第二种手动替换代码文件、修改个别函数名的方式,成功编译。 ---- 原文 ----- faster rcnn 代码默认是使用的cudnn v4, 但是为了体验最...
一开始对于机器学习,主要是有监督学习,我的看法是: 假定一个算法模型,然后它有一些超参数,通过喂多组数据,每次喂数据后计算一下这些超参数。最后,数据喂完了,参数取值也就得到了。这组参数取值+这个算法,就是模型文件,后续能够用来预测,也就是直接用这个算法+这个参数取值的组合,能投入实际使用,做分类/回归。
摸索了一下,imagenet2012下载,跟大家分享一下 用迅雷会员加速都可以下载,有的用百度云也可以离线下载http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_test.
做机器学习时遇到epoch和iteration,一开始有点迷惑。不是一个意思吗? epoch可以翻译成“回合”。一个epoch内,做一次train+一次test iteration意思是迭代,因为要解的目标函数没有close-form解,所以要迭代求解,比如用梯度下降法,逐次迭代更新参数。
vmware,安装ubuntu或者centos,都有这个问题:vmware自作聪明,提示说“快速安装”,然后会使用一个autoinst.iso文件来快速安装,并且装完系统后该重启了,它插入一个操作:安装vm-tools。
ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加密,得到的结果插入password字段。
ubuntu16.04配置py-faster-rcnn 在ubuntu16.04下编译安装了py-faster-rcnn。 如果你发现本文写的有不对或不清晰的地方,还请在文末留言指出,谢谢! 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faster-rcnn代码,编译代码。
环境 华硕笔记本 ubuntu16.04系统 Nvidia GTX970显卡 问题 装好ubuntu后提示重启,重启后直接黑屏 方法 开机grub界面按e键,linux打头的行,quiet后添加nomodeset。
在ubuntu下安装cuda的时候,一直装不好,cuda-7.5.run已经装好了,但是编译cuda的例程时失败,提示cuda的库链接不上。 初步判断是secure boot的问题,因为在开启X的情况下重新运行cuda-7.5.run提示说要把secure boot关掉。
0 安装了ubuntu16.04 GT980的显卡,安装了nvidia340的驱动 1 下载cuda7.5的.run文件 2 进入tty1,service stop lightdm 3 sudo sh ./cuda7.5-xxx.run 一路yes 添加PATH和LD的变量。
系统:win10 手头有个python模块,是用C写的,想编译安装就需要让python调用C编译器。直接编译发现使用的是vc9编译,不支持C99标准(两个槽点:为啥VS2008都还不支持C99?手头这个C代码为啥不好好写?) anyway,此时两个想法,一个是改C源码,另一个是自行用VS2013编译一个python。
在windows下使用python时,比如编译python的一个包,会遇到这个问题: error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat) 是说没有在电脑上找到VC9编译器。
从一个外行角度看,VC/VS有3种版本号,具备一定的迷惑性:(xx表示具体的数字) MSVC++ xx(VC版本 eg. VC6.0) _MSC_VER xx VisualStudio xx(VS版本 eg.
C++/java/python系列的语言,函数可以有默认值,通常类似如下的形式: funtion_name (param1, param2=default_value, ...) 到了matlab下发现并不能这样写。
win10系统。 为了节能,长时间没有操作操作系统会自动进入休眠模式。 先前设定了“控制面板\硬件和声音\电源选项\编辑计划设置”,都设定为“从不”,结果不起作用,仍然会睡眠。。 知识延伸,关闭自动休眠: 1)依次点击:【开始菜单】--【控制面板】--【电源选项】--【创建电源计划】--【高性能】 2)点击更改高级电源设置--【睡眠】改为【从不】,【硬盘】改为【从不】按钮,和盖子改为【不进行任何操作】即可。
既然faster-rcnn原版发表时候是matlab版代码,那就用matlab版代码吧!不过遇到的坑挺多的,不知道python版会不会好一点。 ======= update ========= 总体上包括这些步骤,请注意检查: 1 获取数据;(标准数据集/比赛数据/自行收集数据) 2 整理图片名和标注信息格式、指定训练集和测试集;(转voc格式,同时记得修改vocinit.
在用matlab2016a,运行的代码涉及到C++混编,要用mex把C++代码编译出来。 记得几年前的matlab版本,通过: mex -setup 就可以设定了,选择要使用的编译器(文本的超链接),鼠标选择即可。
dropout是CNN(卷积神经网络)中的一个trick,能防止过拟合。 关于dropout的详细内容,还是看论文原文好了: Hinton, G. E., et al. (2012). "Improving neural networks by preventing co-adaptation of feature detectors." arXiv preprint arXiv:1207.0580. 我这里简单理解为:dropout相当于同时搞了多个CNN网络,然后取它们的平均。
Convolutional Neural Network,卷积神经网络,简称CNN,最近几年再次流行起来。 CNN和普通的机器学习算法有什么相同,有什么不同? 简单说,CNN=A+B,即CNN包括两个方面的功能: A:feature extactor 特征提取器 普通的机器学习算法,比如决策树、随机森林、svm、逻辑回归/softmax等,它的输入通常就是若干个features 而CNN的输入,是图片! 我们当然可以把图像像素作为feature vector中的一个维度。