02 2017 档案

CUDA学习5 常量内存与纹理内存
摘要:1.常量内存 当线程束中的所有线程都访问相同的只读数据时,使用常量内存将获得额外的性能提升。 常量内存大小限制为64k。 以下摘自hackairM的博文CUDA学习--内存处理之常量内存(4)。 常量内存其实只是全局内存的一种虚拟地址形式,并没有特殊保留的常量内存块。常量内存有两个特性,一个是高速缓 阅读全文

posted @ 2017-02-20 11:47 1357 阅读(4762) 评论(0) 推荐(0)

CUDA学习4 线程协作
摘要:在CUDA学习3 Max pooling (python c++ cuda)中有一个2D grid的CUDA实现,用时141ms。 以下为2D grid 2D blocks实现,耗时进一步降低到16ms。 线程索引计算方式如上,此处需要的循环为(N,M,PH,PH),因此配置如下。(PH*PH=14 阅读全文

posted @ 2017-02-14 22:05 1357 阅读(330) 评论(0) 推荐(0)

CNN5 调用 C实现pool2d im2col col2im
摘要:1. swig实现 在Python 调用 C/C++实现卷积中,尝试了python通过swig调用c提高性能的方法。 以下为pool2d im2col col2im三个函数在swig下的配置。 2.使用效果 只有pool2d提升很大,使用另两个函数速度不仅没有提升,反而有所下降。 3.内存 上面的s 阅读全文

posted @ 2017-02-13 23:06 1357 阅读(1018) 评论(0) 推荐(0)

CUDA学习3 Max pooling (python c++ cuda)
摘要:1.Python 在CNN4 参数优化中有一个CNN模型,其中的限速步是max pooling。 如下所示,Python中运行一个50*100*24*24的max pooling需要3秒。 2.C++ 采用c++,仅需16~30ms。 3.CUDA 在N=50时为16ms,N=500时为141ms( 阅读全文

posted @ 2017-02-12 17:39 1357 阅读(2482) 评论(0) 推荐(0)

CUDA学习2 基础知识和Julia示例
摘要:1.修饰符 __device__ 标记的函数从一个在器件中执行的函数呼叫,在器件中执行 __global__ 表示该函数从一个在主机中执行的函数呼叫,在器件中执行 __host__表示在主机中呼叫,在主机中执行的函数 2.核函数 以下引用自青竹居士的博文CUDA核函数参数示意:Kernel<<<Dg 阅读全文

posted @ 2017-02-10 22:58 1357 阅读(770) 评论(0) 推荐(0)

CUDA学习1 在Visual Studio和CodeBlocks上配置
摘要:1. Visual Studio 在Windows系统上安装vs(先)和cuda(后),就能在vs中新建cuda项目,新建之后可以直接运行。 如果下拉列表没有.NET 3.5,可能需要在Windows系统中启用它以正常运行示例。 2.CodeBlocks 点击菜单栏上的Settings --> Co 阅读全文

posted @ 2017-02-09 22:08 1357 阅读(1305) 评论(0) 推荐(0)

线性搜索
摘要:精确线性搜索——黄金分割法 单峰函数 设f(x)是[a,b]上的一元函数,xm是f(x)在[a,b]上的极小值点,且对任意的x1,x2∈[a,b],x1<x2,有: 1.当x2<xm时,f(x1)>f(x2); 2.当x1>xm时,f(x1)<f(x2)。 则f(x)是单峰函数。 通过计算区间内两个 阅读全文

posted @ 2017-02-08 20:24 1357 阅读(1621) 评论(0) 推荐(0)

CNN4 参数优化
摘要:之前在Caffe学习 一 网络参数和自定义网络包含一些参数的设置项。 momentum是梯度下降法中一种常用的加速技术。对于一般的SGD,其表达式为 w沿负梯度方向下降。 而带momentum项的SGD则写生如下形式: 即如果上次的v与这次的负梯度方向相同,那本次下降的幅度就会加大,以达加速收敛。 阅读全文

posted @ 2017-02-06 20:08 1357 阅读(414) 评论(0) 推荐(0)

CNN3 im2col
摘要:原理参照Caffe学习 五 conv_layer与im2col。 以下是一个比较,使用自己写的conv2d的卷积速度非常慢。 im2col转换进行的卷积与sg.convolve2d(不旋转180°)速度接近。 除此之外,im2col还使得反向传播更为简单。 im2col将卷积操作变为矩阵乘法,反向传 阅读全文

posted @ 2017-02-05 21:31 1357 阅读(619) 评论(0) 推荐(0)

CNN2 多层卷积
摘要:延续上一篇进行修改,可用于多层卷积网络,按mini batch传播,正确率96%左右。 存在的问题是卷积速度过慢,学习率更新方式。 下一篇将使用im2col。 阅读全文

posted @ 2017-02-04 23:00 1357 阅读(649) 评论(0) 推荐(0)

CNN1 递归网络
摘要:之前的随笔卷积层和池化层中有一个凌乱的CNN实现,此处做一些修改。 主要改动: 1.将ConvLayer和PoolLayer合并。 在theano的例子(基于theano的深度卷积神经网络)中,这两层共用一套weight和biasis;在caffe中(Caffe学习 一 网络参数和自定义网络),没有 阅读全文

posted @ 2017-02-03 21:57 1357 阅读(497) 评论(0) 推荐(0)

导航