2012年9月17日
第一次被大小写转换的sed命令坑了
昨天需要紧急测试一组翻译结果的得分,其中一个步骤是需要把一个文件每行的首字母大写。
网上查了一下sed脚本,参考的两个网页是
http://www.51testing.com/?uid-375540-action-viewspace-itemid-232269
http://www.pyshell.com/index.php/archives/699
得到的答案都是一致的 sed 's/[a-z]/\u&/'
简单测试了一下,也的确没有问题。
但是,这个小小的步骤导致最终我测试的结果都比正确答案少了10%左右的得分。
同事使用的首字母转大写的命令是 perl -ne 'print ucfirst($_);' inputfile > outputfile
仔细对比了多组结果,发现上面的sed命令存在Bug,因为sed 's/[a-z]/\u&/'实际上是将一行文本里出现的第一个小写字母转换为大写。
正确的sed命令应该是sed 's/^[a-z]/\u&/' [a-z]前面加入的^表示匹配行首。
总结教训,以后再遇到网上找到的shell命令需要仔细的查看并测试后再用,否则很耽误工作啊。
2012年9月15日
Thunder-Decoder加上了Binarization功能
2012年9月8日
读书的习惯需要好好培养
1、如果你只愿意去做轻松的事.生活就是艰难的。 但如果你愿意去做艰难的事情.生活就是轻松的
2、如何真的想做一件事,你一定会找到一个办法。如果不想,你也一定能找到借口
3、影响结果的不是斗志,而是科学
2012年8月18日
DeepLearningC++ Plan
想基于DeepLearning中的核心技术AutoEncoder来做点东西,网上找了半天的可用代码,绝大多数都是Matlab或者Python的,唯一C++版的deeptorch又是基于另外一个库的二次开发,太复杂了,似乎是把复杂的牛刀。用别人的库的最大问题就是很多细节都无法掌握,而且不容易根据自己的需要来修改。无奈之际,还好基本原理都懂了,那就从基本的BPNN开始写一个C++版的用于NLP的DeepLearning库吧。打算从Hinton的2006年Science论文开始实现AutoEncoder,随后Recursive AutoEncoder,最后是Recursive Graph Transformer。最终目标是用于SMT。
2012年8月6日
推荐两道菜肴:手撕豇豆和西芹牛柳
这两日尝试了两道新菜肴,口感很好,做法也很简单,推荐。
手撕豇豆
用料
| 豆角 | 猪肉馅 |
| 老抽 | 生抽 |
| 料酒 | 花生油 |
| 葱姜 几片 | 盐 |
| 鸡精 |
做法
- 1.肉馅加少许老抽,生抽,料酒腌制20分钟待用。(腌制的时候,加入调料后要用筷子乱拌,不可顺一个方向搅拌上劲。那样炒出的肉糜就成了肉球,不散了。)
- 2.豆角洗净从中间切一刀,下热水里焯熟。(水开后焯5分钟左右,可尝一下,彻底没有生味即可)
- 3.捞出后立刻浸泡凉水。控干水份后,用手把豆角从中间撕成两半(我女儿帮撕的,她说从细的一断撕要比从粗的那断撕容易些)
- 4.锅里热油,下葱姜爆香,入腌制好的肉馅,立刻划散,不停的翻炒均匀(我忘记拍照片了),盛出备用
- 5.用锅内剩的底油,加蒜末爆香,放入豆角,翻炒2分钟。再放入炒好的肉馅,再调入盐,鸡精出锅即可
西芹牛柳
- 1
牛肉切成条【我切的是片】。 - 2
牛肉放入辅料腌制20分钟。 - 3
西芹切成片。
- 4
在水中放入盐和几滴油,水开后把西芹焯水。 - 5
锅中放油,烧热。 - 6
下入腌制好的牛肉煸炒至变色盛出。
- 7
锅中留底油爆炒西芹。 - 8
放入煸炒好的牛肉,炒拌均匀即可出锅。