git submodules

刚刚知道的一个用法,记录一下。 git可以把另一个git工程作为子项目(submodule),如果项目很大的话可以把一些子项目独立出来,单独作为一些个git项目,最后再作为库提供给主工程使用。遵照这个做法正好也能培养个好习惯。 几个命令: $git submodule add git://github.com/chneukirchen/rack.git rack submodules由.gitmodules文件管理。内容如此: [submodule “rack”] path = rack url = git://github.com/chneukirchen/rack.git 如果你clone了一个有submodules的git工程,需要额外的操作来clone其中的submodules. $ git submodule init $ git submodule update 知道这么几个命令就可以试试了。 参考自:6.6 Git Tools – Submodules

CVPR 2012 酱油记

没有文章,老板还是很nice的给了一次去参加CVPR的机会。虽然只是去酱油一把,但是可以到CV三会之一的CVPR看看,还是很高兴的。 提前一天到了罗德岛,这里貌似是美国最小的一个州。风景不错,但是也不觉得有什么很特别的地方。按照会议进程,头两天是Workshop和Tutorial。Tutorial是集中时间讲一个话题,比如这次有Deep Learning, Gaussian Process这种,这里列出了所有的Tutorial,有很多很吸引人的题目。Workshop是做一个小领域的人们讨论这个方向的文章。一趟下来感觉,除了很偏工程的Tutorial,没有事先看看相关的东西就去听还是比较吃力的。相对来说,Workshop比较容易懂。主要是因为Workshop里的文章多,总有一篇适合你… 两天的Workshop和Tutorial覆盖了各个方向,虽然还没有开始主会,已经感觉是码农进了大观园。感叹各种听不懂… 这两天比较有印象的是Perceptual Organization和Biometric Workshop的几篇文章和Vision Industry & Entrepreneur Workshop的两场演讲,Boaz Super列了很多最近的利用CV技术创业的公司,然后用一大堆数据告诉大家,CV是很有前途地。虽然也听了两次Deep Learning相关的Tutorial,唯一有印象的就是Kai Yu的Sparse Coding那场,他的SC相关的文章回头还得找出来看看。 三天主会还是比较紧的。主会时间是早上8点半开始第一场Posters,一天两场Oral,三场Posters,如果Poster很相关的话,基本上一整天都在那些海报前面走来走去。 我感兴趣的Image Classification相关的文章主要是在第二天和第三天。收获确实不小,看到了很多不熟悉的名词,还有些之前没想到的东西。不过也可能是因为自己比较土鳖,看啥都新鲜…可以和作者讨论是比较理想的状态,而且也很有意思,只是文章读得还是少了,能去讨论的情况不多。今年有好几篇讨论Fine-Grained Classification的文章,做这个的可能会越来越多吧。还有就是知道了Transfer Learning这个方向,和Classification也很相关的。训练样本和测试样本不是同一个环境下得到的,这个本身就是比较实际的问题。Object Recognition这块,还是很多文章在讨论BoW之上的改进,有几篇都是在讨论如何加入空间信息,不知道什么时候会有完全不一样的一套模型出来。然后比较有印象的就是各种Simultaneously,比如把分割,分类,标注等等在一个框架下一块儿做完。Oral里面对于Transfer Learning的两篇印象较深,有一篇是Boqing师兄的,讲得很清楚。 这几天,除了看各种文章,就是看到了各位大牛小牛,认识了一些朋友,不过因为没有文章,也不是很容易讨论起来…还有就是遇到了很多科大的师兄,还有同一级的同学,我科的各位一如既往的给力而且Nice,相当高兴。 有一天吃晚饭的时候因为没有找到地方,和三个外国朋友一桌。有一位是开公司的,不住的抱怨现在CVPR里能用的东西太少,算法太慢。想来也是,现在在做的分类算法就根本不能放在机器人上去用。不过技术总是厚积薄发的,总是很多人做了很久,然后忽然一个突破。虽然取得突破的方法可能看起来全新,之前做的那么多东西都没用上,但是前面的积累想来也是必要的吧。XD 2012.6.20 在回程的大巴上

Linux Tips (1)

这里记录一些小技巧,比较杂。 1. bash下,x{a,b}会被展开为xa xb,很适合文件备份。 如果你要复制一份a.txt作为备份,到a.txt的路径又太长了,这么写比较方便。 cp /a/long/long/long/path/to/file/a.txt{,bak} 2. vim下,要把某些内容替换成为行号,可以用\=line(“.”)来处理。“.”用来连接行号和其它内容。 :%s/xxxx/\=line(“.”) . ” “/g 3. bash脚本下,如果要写多行到文件里,可以用 cat > file