2014年美国休斯顿大学ECE实验室实习周记——第十一周

作者:李允恺等编辑:LYH发布:2014-11-18点击量:

交友的开始与改观


上周末和外国朋友一起去打真人CS,真是一件让人难忘又快乐的事情,虽说在休斯顿实习的生活即将结束,但对交朋友来说,一切似乎刚刚开始。本周我们不但应邀去这位美国朋友家里蹭饭,还结识了新的朋友。很遗憾之前没能更主动一点,多与一些人交往。就像温晨曦所说,和美国人交朋友并没有之前想象得难,许多交朋友的法则都是通用的,文化上的差异反而为朋友之间交流提供了不少话题。

与外国朋友一起打真人CS合影

随着与美国人的交往加深,我们对美国人的外向和行事风格有了全新的认识。若说让人印象最深刻的,当属我们宿舍楼里,一个伊斯兰教打扮的姑娘。我给大家描绘一个女生,穿着黑色衣服,裹着严实的黑色头巾,ok,大家对她的感觉是不是“保守”两字?然而实际上呢?她就是我们的宿舍楼助理,俗称楼管,是一个相当外向活泼的姑娘。常常敲我们的门,说有各种各样的看电影、吃烧烤的活动,邀请我们参加;有次楼栋的火警报警器响了,她挨个地敲门,提醒大家离开宿舍楼,等待报警器结束;有次敲门直接扔给我们一把水果糖吃,还热情的让我们再拿几个、多拿一些;她的寝室门口贴着各种花花绿绿的小纸条,让大家反馈宿舍管理的意见和建议。从没有哪一次我觉得“人不可貌相”这句话是如此的正确,外貌党是多么幼稚可笑的行为。

李允恺

下个周就要结束在这边的实习生活了,周四去见Dr. Sheth的时候跟他提起,他也才突然意识到这个事情,遗憾之余,却很尴尬地发现他周五要出差,一直到下个周五才能回来。于是他说:那你还是今天把交接文档草稿写了吧,明天早上给我看看。虽说略显匆忙,但这也是无奈之举。好在文档主要涉及到实验环境搭建和数据接口,以便以后有人在这个基础上继续做分析,所以到晚上的时候就写得差不多了。第二天见导师的时候,发现他办公室还站了三个人,经介绍才知道原来都是导师找来继续做这个实验的,原来这就是他为什么这么急着让我写文档的原因啊。这次导师找人的效率倒是挺高的。在导师讲完这个实验的背景和预期的分析任务之后,我就跟他们讲了一下具体的实现细节和程序的效果,以便他们以后搭建环境时做检查。之后我了解到他们对matlab比较擅长,却基本没写过C,然而我们的实验环境还涉及到C和openCV,这也就意味着如果大部分的接口都要给他们改到matlab里去,还要尽量保证C的部分没有问题,这也将是我最后一周的任务了。

虽说最近去健身房的次数比较少,但凑巧的是,连续几次总能碰到一个亚裔同学。萍水相逢便是缘分,这周一晚上又碰到他的时候,或许是因为我在训练的动作又蹦又跳的,他终于忍不住开口问我是在锻炼什么,我就跟他解释了一下并演示一番。等第二天又碰到他的时候,他就自来熟了,先是问我来美国的意义是什么,接着就开始说他的生活。最后他还邀请我到他家吃饭。但是由于是单独一人,出于谨慎起见,我还是婉拒了他,和他在食堂吃了一顿。最近见到的美国人都是自来熟,某种程度上来说美国人要更为热情一些,刚认识就敢带回家请吃饭的。这一点对于我来说还是挺吃惊的,人与人之间的信任,也让我对交朋友有了新的看法。

何梓奇

细胞组织分类的主体已经做完,接下来要做的是程序的一些补充。

第一、 PCA算法的实现

PCA即Principal Component Analysis(主成分分析法),做过数学建模或是有类似经历的同学肯定对这个算法非常的熟悉。主成分分析法的主要原理是:通过变换坐标投影,达到减少数据维度,用最少的特征(主成分),达到最好的区分效果。PCA作用原理图:

http://en.wikipedia.org/wiki/File:GaussianScatterPCA.png

实际上主成分分析法的算法实现还是挺简单的,由于以前做过类似的工作,我在MATLAB上使用不超过十行的代码就可以解决。然而问题还是,需要降低维度的源文件很大,电脑内存装不下,所以要自己在C++平台手动实现,每次仅可能高效地读取一部分文件,计算相关系数矩阵。这样有一些计算是重复的,效率也低了很多,但考虑到有限的内存,我觉得这部分的重复计算是难以避免的,未来可以尝试通过Cuda达到GPU加速计算的目的。

第二、 跨平台程序开发的实现

大家都知道,使用OpenCV,Cuda等库文件需要进行系统环境的配置,还有一些链接器,依赖项的设置,非常的繁琐。同时,在Git上,我们肯定只是上传.cpp,.cu的源码文件的,因为工程(project)文件和编译器与系统是有关的,比如我的电脑使用的是windows上的visual studio平台,而导师David Mayerich使用的是Ubuntu上的eclipse,我创建的工程无法给他用。所以我们的解决方案是使用一款叫CMake的软件实现跨平台程序开发,在源码目录下新建一个叫CMakeLists.txt的文件,在里面书写相关的配置信息代码,这个从Git上下载源码后就可以直接通过CMake生成对应自己电脑上的开发平台版本的解决方案(工程文件)。

第三、 一些debug工作

对于某些运行较慢的工作,抛出一条信息:推荐用户先转换文件格式,再进行处理以减少运行时间;确保用户每次仅输入一条处理命令。

另外,现在的程序都是基于命令行运行的,给用户操作的图形界面也是程序需要进一步完成的,导师David Mayerich打算通过Qt来实现,不过导师说Qt并不好学,我可能是完成不了了的,不过我也不需要全部完成,先从基本的做起就好。

今天上Github粗略的统计了一些,我这两个多月的代码量已经超过4000行了。

张文杰

这周我向休斯顿教育组请假回国参加新加坡国大的面试了。

因此主要工作是在准备英语笔试和面试的事情,本来以为笔试会涉及到专业内容,所以将大一大二所学的专业课知识温习了一边,虽然后来的笔试只是考了作文,但是这一次的复习却给我带来了不少的收获,温故知新,这话说得很有道理。

此外,我还阅读了一篇论文,这篇论文对我很有启发。论文的主要内容是怎么利用convex optimization学习到的结果去处理可再生能源的不稳定估算。众所周知,可再生能源,如风能,有很大的不确定性,如果要将风能发电并入电网,需要估算风能的供电量,如果供电量不足,会造成电网的功率不足,如果供电量过多,则会有额外的成本。一般来说,为了电网的强壮性,必须尽量保持供电量的冗余,所以,怎么预测不稳定的可再生能源的供电量成为了一个极其关键的问题。在那篇论文中,论文的作者在有实测数据的前提下,利用一个已知其概率密度分布函数的参考模型去模拟未知的可再生能源供电量概率密度分布,但是如果直接用参考模型去代替未知的模型显然是不合理的,因为有很大的可能会让电网的强壮性受到影响。作者利用K-L divergence允许未知的模型在已知的模型上做出偏移,并利用Slater condition和KKT condition去估测最坏情况下的概率分布函数。

这篇论文在某种程度上给我指明了一个新的方向,就是怎么去估算系统在最坏情况下的效用。这篇论文估计我还得读多几次,把其中用到的思想方法好好活用到我现在的论文中去。

温晨曦

第十周一直在努力提高这个实验结果,但是并没有太多效果。后来陈戟老师觉得这个想法更加重要,初期的结果可以不用太好,希望我能尽快将论文写出。所以这一周的主要工作就在论文写作上。原本我已经将论文的实验部分写完,我加上了一些对实验结果的分析后,发给了学长们去看。学长看了之后觉得还是让我先把它套进IEEE期刊论文的模版中,再对格式和内容一起做修改,这样更有效率些。我原本以为内容写好了去改格式,是一件很容易的事,要做的只是把内容贴进模版里。后来才发现我大错特错。最大的问题在画的图,由于在模版中的图大小不一样,为了让里面的字能看清,所有的图的字体都要改,所以所有的图都需要重画。除此之外,公式的字体大小和交叉引用又要随着更改。于是我整整花了2天在改格式上。最后终于在周五上午改好,发给了学长去修改。

这周周六和Colton一起去了休斯敦动物园。一同前往的还有Colton的朋友Mac。我一直认为动物园都是小学生去的地方,去了之后发现仍然有很多动物能让我们这把年纪的人感到惊艳。不过最重要的还是出去走走,扩大交际圈,多融入美国人的生活。逛完动物园后我和Colton的几个朋友一起去健身房健了身,他们还教我摔跤和拳击。随后一行人去沃尔玛采购食物,回到Colton家里做饭。不过可惜的是,在我准备离开的时候才开始交朋友。我挺后悔在刚开休斯敦的时候没有放开自己,没有走出自己的交际圈。和美国人交朋友并没有我们之前想象的难,许多交朋友的法则其实是通用的,文化上的差异反而为朋友之间交流提供了不少话题。

Copyright © 华中科技大学启明学院 版权所有