Tony 发布的文章

如何安装cuDNN


  cuDNN是英伟达针对CNN(卷积神经网络)推出的一个库,据说可以对CNN过程进行加速,既然这么好,不妨试用一下。下载地址是链接,需要先注册,然后按步骤选择平台下载,现在有v3和v4版本,可以根据你的CUDA版本选择。我选择的是cuDNN v4 Library for Windows。当然也有一些Sample可以下载。   下载后解压得到一个cuda文件夹,可以先将它放到任意位置,比如我放在D盘根目录。   1.然后设置环境变量,将D:\cuda\bin(取决于你的文件位置)添加到系统变量的Path中。   2.用VS新建一个cuda项目(前提是你的CUDA配置完成)。   3.设置项目属性:


为什么我们需要读《黑客与画家》


  《黑客与画家》其实就是硅谷创业之父paul graham的文集,初看书名你可能会疑惑:黑客与画家究竟为什么能够并列。但是当你细细翻阅这本书后你可能会有自己的结论。   首先说说作者保罗·格雷厄姆,从青年开始接触编程,经历了从哲学到计算机然后创业的丰富人生,无疑他是成功者的代表,但不仅限于此,他将成功分享,以自身经验帮助更多人,成为了如今的互联网创业教父级人物,这也奠定了他文章的深厚内涵。

                (一) 黑客是什么

  在书的开始就解释了为什么书呆子不受欢迎,这或许也是作者对自身经历的深刻的感悟,这里说的“书呆子“不是指思想刻板的人,而是那些沉浸在自身领域中的聪明人,社交固然能让人与集体融洽,但某些天才却因为种种原因遭到排斥,我们唯一能做的就是相互尊重,让所有人和谐共存。


Theano+Lasagne 实现手写数字识别


  Python在机器学习领域的地位越来越重要了,不仅因为它的简洁快速,更重要的是众多的社区和库的支持。   下面介绍几个非常不错的Python深度学习库:Theano,Pylearn2,Blocks,Keras,Lasagne   详细介绍可以参照链接中的文章。

  本文来说说用Theano+Lasagne来实现。

  Theano是一个强大的库,几乎能在任何情况下使用,从简单的logistic回归到建模并生成音乐和弦序列或是使用长短期记忆人工神经网络对电影收视率进行分类。更为重要的是它可以使用了Cython和CUDA来加速,大大提高了效率。   而Lasagne则是基于Theano构建的库,可以更便捷得实现深度学习功能,二者缺一不可。   


VS2013+CUDA7.5配置


  想要研究GPU编程,很多人都在配置上卡住了,所以我把我的配置过程分享出来,希望能给大家提供参考。

电脑配置:     系统:WIN10 64位     开发平台:VS 2013     显卡:英伟达 GeForce GT 740M     CUDA版本:7.5

1.安装最新版CUDA    CUDA官方下载地址    默认安装在C盘

2.配置环境变量        CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5 CUDA_LIB_PATH = %CUDA_PATH%\lib\x64  CUDA_BIN_PATH = %CUDA_PATH%\bin   CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\x64   CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64     然后,在系统变量 PATH 的末尾添加:

;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;


Python GPU编程之NumbaPro入门


  相信如果你使用过Python Numpy包,一定了解NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。它专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。   但是由于复杂的计算,Numpy的计算效率难免受到影响,因此我们对它进行了许多优化,用于优化的包有PyPy、Numba 与 Cython,而NumbaPro就是建立在Numba和cuda基础上的高级优化方法。   下面我们一起来看。   使用NumbaPro,我们可以对Numpy中的方法进行优化,使Python代码可以动态编译为机器码,并在运行中加载,使得GPU充分发挥多线程的优势。针对GPU,Numbapro也可以自动完成工作,并优化GPU体系结构的代码。另外,基于CUDA API编写的Python代码也可以有效地利用硬件。   说了这么多,下面就让我们从简单的示例开始学习。

 from numbapro import vectorize
@vectorize(['float32(float32, float32)'], target='cpu')
def sum(a, b):
    return a + b

  如果需要使用GPU来运行,只需要将第二行改成@vectorize(['float32(float32, float32)'], target='gpu')