- 博客(508)
- 资源 (16)
- 收藏
- 关注
原创 Dialog System 总结
本文包括对话系统分类、数据汇总、和一些目前对话系统paper的总结、评价。以下paper的“一句话评论”均为个人观念,评价标准苛刻,也有可能夸大了论文的缺点,希望与持不同意见的各位有识之士共同讨论。
2016-12-09 23:17:37 37937 19
原创 12 papers to understand QA system with Deep Learning
由于最近入手NLP任务,需要看一些paper,本文对最近两周看的paper做个总结,适用于有deep learning背景,希望了解NLP应用的同学,主要针对NLP方向: 问答系统(QA)和翻译(Machine Translation)。本文提到的12篇paper比较有代表性,这里感谢总理和江哥提供部分参考paper和指导帮助。论文列表:(其中QA为Question Answer的缩写)Neura
2016-04-24 16:36:10 36736 22
原创 _PyUnicodeUCS4_AsDefaultEncodedString
“_PyUnicodeUCS4_AsDefaultEncodedString”的出现一般源于你在两个地方分别装了python,两个分别用UCS2和UCS4编码进行的build。解决方案:export PATH=$PYTHONPATH/bin:$PATHexport LD_LIBRARY_PATH=$PYTHONHOME/lib:$LD_LIBRARY_PATH
2016-02-27 15:39:42 15356 2
原创 Residual Networks <2015 ICCV, ImageNet 图像分类Top1>
本文介绍一下2015 ImageNet中分类任务的冠军——MSRA何凯明团队的Residual Networks。实际上,MSRA是今年Imagenet的大赢家,不单在分类任务,MSRA还用residual networks赢了 ImageNet的detection, localization, 以及COCO数据集上的detection和segmentation, 那本文就简单分析下Residual
2016-01-15 00:04:43 26597 13
原创 python多线程threading
本文通过 4个example 介绍python中多线程package —— threading的常用用法, 包括调用多线程, 同步队列类Queue, Ctrl+c结束多线程。
2015-10-29 00:27:53 28888 8
原创 C++调用python
本文以实例code讲解 C++ 调用 python 的方法。 本文在util.h中实现三个函数: 1. init_log: 用google log(glog)初始化log 2. exe_command: 由 C++ 执行 shell code 3. exe_py: C++调用python文件Code:include/util.h:/****************
2015-10-24 03:03:04 18348 4
原创 python 调用 C++ code
本文以实例code讲解python借swig调用 C++的方法。 1. 如果没有参数传递从python传递至C++,python调用C++的最简单方法是将函数声明为C可用函数,然后作为C code被python调用,如这里三楼所示; 2. 有参数传递至C++函数,swig是最便捷的调用方法,以下面这个工程所示为例;
2015-10-24 02:33:10 18815 7
原创 valgrind 检查内存泄漏
内存泄漏是coding中经常容易出现的问题, 而且很难查。 本文中总结了几个常见的内存泄漏问题, 分别举例实现, 并列出用代码分析工具——valgrind中memcheck检查的结果, 一 一对错误进行排查。本文围绕工程valgrind-sample进行讲解。 先看下工程结构: methods类写了几个可能存在内存操作问题的函数, main.cpp调用methods类函数: method
2015-10-18 14:37:28 19510 1
原创 python代码覆盖率工具——coverage
今天发现了一个好用的python代码覆盖率检查工具:coverage, 可以高亮显示代码中哪些语句未被执行,哪些执行了,方便单测。环境: Linux x86_64 (不能连外网)下载: 上 https://pypi.python.org/pypi/coverage 下 coverage.tar.gz (我下的3.7.1)安装: python setup.py install统计
2015-09-20 17:22:27 22691 2
原创 CUDA(六). 从并行排序方法理解并行化思维——冒泡、归并、双调排序的GPU实现
在第五讲中我们学习了GPU三个重要的基础并行算法: Reduce, Scan 和 Histogram,分析了 其作用与串并行实现方法。 在第六讲中,本文以冒泡排序 Bubble Sort、归并排序 Merge Sort 和排序网络中的双调排序 Bitonic Sort 为例, 讲解如何从数据结构课上学的串行并行排序方法转换到并行排序,并附GPU实现代码。 在并行方法中,我们将考虑到并行方法需要注意
2015-09-14 19:09:22 49262 17
原创 python实现并行爬虫
问题背景:指定爬虫depth、线程数, python实现并行爬虫 思路: 单线程 实现爬虫类Fetcher 多线程 threading.Thread去调Fetcher 方法:Fetcher 中,用urllib.urlopen打开指定url,读取信息:response = urllib.urlopen(self.url)content = respon
2015-09-07 20:06:51 22162 4
原创 搭建Python HTTP服务
我们常需要搭建HTTP服务,但是又不想搞那些复杂的Apache、ISS服务器等,这时我们就可以用python帮我们搭建服务器。 例如之前讲过的用python建XMLRPC开服务进行server/client通信,但这里还有个问题,如果我需要显示本地文件(比如图片),但是rpc不可以直接访问本地文件怎么办? 这种情况下,只需要再开一个简单服务,显示指定文件夹下文件,再用那个rpc服务调这个服务的文件
2015-08-18 20:16:25 15676 5
原创 php实现Bloom Filter
Bloom Filter(BF) 是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法,用于**快速**查找某个元素是否属于集合, 但不要求百分百的准确率。 Bloom filter通常用于爬虫的url去重,即判断某个url是否已经被爬过。 看过几个php实现的BF,都觉得可读性不是很强, 本文主要给出我对Bloom Filter的一个php实现。
2015-07-24 19:20:15 13607 3
原创 php如何显示错误信息
php默认不打印错误,如需打印,vi $PHP_HOME/etc/php.ini, 修改以下几项:display_errors = Onerror_reporting = E_ALL & ~E_NOTICE如果有设error_log变量,注释掉输出到error_log这句话就可以将错误直接显示在terminal了然后重启php:$PHP_HOME/sbin/php-fpm start
2015-07-24 12:56:22 16035 2
原创 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
python的编码问题一直是头痛,比如matplotlib画图只接受utf-8编码,如果没有设置就会在画图时报错。 有时间整整这个python编码;如标题所示,解决方案:加入import sysreload(sys)sys.setdefaultencoding("utf-8")
2015-07-23 14:14:58 16174 1
原创 shell 例程 —— 解决redis读取稳定性
问题背景: php读取线上redis数据,经常不稳定,数据响应时有时无。 解决方法:多次读取,每次读取所有上一次没读出的数据,直到全部获取。本文实现用shell进行多次redis数据读取, 每次取出其中的有效值(对于我们的例子中,就是给key,能在redis上取得其value的为有效值,其他无效),并将无效值重跑一遍,以此迭代,直到所有redis数据被取出。PS:redis数据可以由php或
2015-07-22 13:41:07 14094
转载 Linux下批量删除空文件
Linux下批量删除空文件(大小等于0的文件)的方法find . -name "*" -type f -size 0c | xargs -n 1 rm -f用这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:find . -name "*" -type f -size 1024c | xargs -n 1 rm -f就是删除1k大小的文件。(但注意 不要用 -size 1k
2015-07-13 12:27:31 18189 1
原创 匹配不包含指定中文字符的行
上一篇利用正则表达式匹配不包含某些指定字符的只是动动脑机,回忆一下正则表达式, 但是遇到了中文,一来编码问题不方便, 二来容易考虑问题有漏洞。 如果我们想实现匹配不包含某些字符串的功能, 还是用shell脚本比较安全。如下面这段代码实现匹配所有不含“登录”和“注册”的行。其中, “=~”表示包含。str="登录|注册"while read line; do if [[ ! $line =~
2015-07-09 21:45:26 10521
转载 利用正则表达式排除特定字符串
本文转载自:http://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.html查找不以baidu开头的字符串baidu.comsina.com.cn正则:^(?!baidu).*$ 匹配结果就是第2行,也就是第1行被排除了这里使用了零宽度断言(?!exp),注意,我们有一个向前查找的语法(也叫顺序环视) (?=exp)(?=exp)
2015-07-09 20:39:44 15785
原创 CUDA系列学习(五)GPU基础算法: Reduce, Scan, Histogram
喵~不知不觉到了CUDA系列学习第五讲,前几讲中我们主要介绍了基础GPU中的软硬件结构,内存管理,task类型等;这一讲中我们将介绍3个基础的GPU算法:reduce,scan,histogram,它们在并行算法中非常常用,我们在本文中分别就其功能用处,串行与并行实现进行阐述。 1. Task complexitytask complexity包括step complexity(可以并行成几个操作
2015-06-25 11:19:39 45982 33
原创 Python数据可视化——散点图
本文记录了python中的数据可视化——散点图scatter,令x作为数据(50个点,每个30维),我们仅可视化前两维。labels为其类别(假设有三类)。这里的x就用random来了,具体数据具体分析。label设定为[1:20]->1, [21:35]->2, [36:50]->3,(python中数组连接方法:先强制转为list,用+,再转回array)用matplotlib的scatter
2015-06-10 10:58:47 175407 24
原创 解决 Mac OS SSH 登陆 Linux 出现中文乱码问题
原理: 都用utf-8.方法:terminal中: LANG=zh_CN.UTF-8 export LANGterminal preference 中的encoding改成utf-8关掉terminal, 重新连接
2015-06-10 10:42:17 17500
原创 Caffe —— Deep learning in Practice
因工作交接需要, 要将caffe使用方法及整体结构描述清楚。 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家参考。 本文简单的讲几个事情:Caffe能做什么?为什么选择caffe?环境整体结构Protocol buffer训练基本流程Python中训练Debug
2015-06-09 22:53:40 48882 10
原创 word2vec——高效word特征求取
继上次分享了经典统计语言模型,最近公众号中有很多做NLP朋友问到了关于word2vec的相关内容, 本文就在这里整理一下做以分享。 本文分为概括word2vec 相关工作模型结构 Count-based方法 vs. Directly predict几部分,暂时没有加实验章节,但其实感觉word2vec一文中实验还是做了很多工作的,希望大家有空最好还是看一下。
2015-06-07 16:07:36 36673 6
原创 Makefile 速成
本文主要内容:一. Makefile/makefile规则及举例二. make的工作方式三、makefile中的常用自动化变量与通配符四、makefile自动生成依赖性关系五、 调用命令 1. 显示命令 2. 命令出错 3. 命令执行六、 变量 1. 变量定义 2. 变量引用 3. 变量替换七、 条件判断八、 常用函数 1. 字符串处理函数 2.
2015-06-06 18:07:46 6773 4
原创 双系统 linux开机加载windows硬盘
环境:windows7 + ubuntu双系统, 用wubi装的linux问题:默认打开linux, 不加载win7的硬盘;1. GUI下倒是方便, 设备里点一下就可以加载上, 但是远程的时候点击显示“无法加载硬盘 Not Authorized”2. 命令行下可以加载, sudo mount 就可以, 但是问题来了, 一是win7硬盘在哪里? 二是能不能开机自动加载?每次都酱紫太麻烦。解决方案:1
2015-05-22 14:59:12 4248 3
原创 mac终端新建标签/窗口ssh重复输入密码问题
mac的终端默认在打开一个新的tab/window的时候需要重新输入ssh的密码, 很不方便。本文完成在mac中设置,实现secureCRT/xshell里的克隆会话功能, 即新开一个terminal进行ssh连接无需重新输入密码。原理很简单,开一个ssh连接在后台放着,以后再有需要用到ssh到同样主机的时候,直接使用这个连接的socket文件,不用再创建连接了,同理,也不需要再进行用户身份验证。默
2015-05-01 11:00:19 13371
原创 github不小心同步覆盖了本地文件
昨天不小心github的commit还没push就同步了,导致本地文件被覆盖,一度以为没救了。 后来得微博 @空非无和 @柳烟堆雪 指点,用git reflog 恢复了文件。事情是这样的。。。 我在两个电脑上修改一个项目,A修改文件a,B修改文件b。然后我干了下面这些事,按时间顺序。。。 1. A上 git commit 2. A上 git push 3. B上 git commit 4.
2015-04-17 19:38:53 26111 4
原创 CUDA系列学习(四)Parallel Task类型 与 Memory Allocation
本文为CUDA系列学习第四讲,首先介绍了Parallel communication patterns的几种形式(map, gather, scatter, stencil, transpose), 然后复习了cuda memory model并从high level上分析怎样写出高效代码,最后学习了流程控制(control flow)以及其中一个重要部分——原子操作。参考资料:udacity cs344.
2015-02-03 11:43:00 11851 12
转载 matlab 扩大虚拟内存
今天服务器挂了。。用了自己电脑结果爆内存,分享一个扩大虚拟内存的方法,经测试有效。。使用Matlab生成很大的图片时,碰到了"out of memory"的错误,导致图片无法生成,于是不得不扩展虚拟内存。具体过程记录如下:1)查看当前的虚拟内存 在Matlab的命令行中,键入命令:feature ('memstats'),得到如下结果:[plain] view plaincopyPhysic
2015-01-27 13:45:58 16309 10
原创 CUDA系列学习(三)GPU设计与结构QA & coding练习
啥?你把CUDA系列学习(一)(二)都看完了还不知道為什麼要用GPU提速而不能做CPU优化? 是啊。。经微博上的反馈我默默感觉到提出这样问题的小伙伴不在少数,但是更多小伙伴应该是看了(一)就感觉离自己太远所以赶紧撤粉跑掉了。都怪我没有写CUDA系列学习(零)。。。那么,这一章就补上这一块,通过一堆Q&A进行讲解,并辅助coding练习,希望大家感觉贴近CUDA是这么容易~~Q:现在硬件层面通常通过
2015-01-23 17:40:01 10423 3
原创 关于“博客之星”评选活动的意见
我很久没有抱怨,更不想在csdn这个技术平台发表任何煽动性言论,csdn提供了这个技术交流的平台,方便大家相互探讨,我们应该感谢才对。但正如大家看到的,我的博客之星评选被封了号,也被一些人误认为我刷票,在此我仅作一个积极回应。1.无告知封号: 我完全不知情是否是刷票,还是真的有一些粉丝在同一时间投票。如果不是粉丝告知,我没有收到csdn任何关于封号的通知,酱紫不会伤用户体验么?2.
2015-01-22 16:58:46 10688 52
原创 recompile with -fPIC /usr/local/lib/libboost_python.a: could not read symbols: Bad value
在用boost库的时候遇到了一些挫折,本文记录下来方便大家参考:1.
2015-01-13 10:13:37 10563 1
原创 CUDA系列学习(二)CUDA memory & variables - different memory and variable types
(一)、CPU Memory 结构CPU提速主要依靠局部性原理,即时间局部性和空间局部性。我们先看一下CPU的内存结构:Data Access先复习一下数据在这几级存储中的传输。作为数据transfer的基本单位,cache line的典型大小为8*8(8个变量,每个8bytes)=64bytes. 当一个cache想要load数据到寄存器时,检查cache中的line,如果hit了就get到数据
2015-01-11 23:04:23 17223 6
原创 有代价的单源最短路径
问题:有代价的单源最短路径,并要求存储路径。(求最短的路径,并使代价最小)特点:* 存储路径:决定了难以用dijkstra,可以用flody,用path[i][j]表示 i 想走到 j 迈出的第一步。假设k是 i->j 的中间节点,更新时候用path[i][j] = path[i][k],具体做法见link。但是flody比较耗时(O(N^3))* 有代价:如果想用flody的话,有要求代价最小,
2015-01-09 12:42:09 6474
原创 CUDA系列学习(一)An Introduction to GPU and CUDA
本文从软硬件层面讲一下CUDA的结构,应用,逻辑和接口。分为以下章节:(一)、GPU与CPU(二)、CUDA硬件层面(三)、CUDA安装(四)、CUDA 结构与接口 4.1 Kernels 4.2 Thread,Block, Grid 4.3 Memory 4.4 Execution(五)、码HelloWorld——数组求和
2015-01-09 09:28:15 39923 13
原创 Image classification with deep learning常用模型
本文中,我会根据下大家image classification常用的cnn模型,针对cifar10(for 物体识别),mnist(for 字符识别)& ImageNet(for 物体识别)做一个model 总结。本文不讲coding(coding请见Convolution Neural Network (CNN) 原理与实现篇)本文不涉及公司内部资料,纯公开资料汇总好,本文就从数据集说起,对数据集不熟悉的小伙伴请先去了解下这3个数据集,下面我们针对每个数据集画出其通用模型。
2015-01-07 16:07:31 35111 47
原创 kv文件读写 in Python & C++
文件格式均为kv对,即keylength, key, valuelen, value. 如何对其进行读写操作,本文列出demo code。感谢涛哥贡献部分代码,这里分享,方便大家使用。Python:def readimg(): fr = open('IMG_2963.JPG','r') keylen = struct.unpack('i',fr.read(4))[0] key = fr.re
2015-01-04 11:26:32 6256 2
原创 Android 启动问题——黑屏 死机 解决方法
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考。安装过程不多说,网上一搜一大把。那直接说问题吧:1. 无法启动,报错:Failed to allocate memory: 8This application has requested the Runtime to terminate it in an unusual way.Ple
2014-12-30 06:55:22 59865 20
LR_Mnist.py
2015-01-07
deep learning 概览+时序模型
2014-05-29
Convolution Neural Network (CNN)
2014-05-15
人脸检测与识别
2014-03-16
决策树python实现
2014-03-10
KMeans和Kmedoid算法的matlab实现
2012-11-18
C++矩阵处理工具——Eigen3
2012-07-24
Difference of Gaussian DoG
2012-06-09
动态规划基础(初学者必读)
2009-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人