clnn, 面向 Torch 神经网络神经网络的OpenCL

分享于 

4分钟阅读

GitHub

  繁體 雙語
OpenCL backend for Torch nn neural networks library
  • 源代码名称:clnn
  • 源代码网址:http://www.github.com/hughperkins/clnn
  • clnn源代码文档
  • clnn源代码下载
  • Git URL:
    git://www.github.com/hughperkins/clnn.git
    Git Clone代码到本地:
    git clone http://www.github.com/hughperkins/clnn
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/hughperkins/clnn
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    clnn

    面向 Torch 神经网络神经网络的OpenCL。

    安装

    请参见发行版 cl 安装说明。

    什么作品

    参数化模块

    • nn.Linear

    基本张量方法

    这些主要是'工作',因为基于底层张量方法,已经在 cltorch 实现。 测试:

    • nn.Narrow

    其他模块

    • nn.Identity
    • nn.Dropout

    卷积层

    • nn.SpatialConvolutionMM
    • nn.SpatialMaxPooling ( 包括 ceil 模式)
    • nn.SpatialAveragePooling
    • nn.TemporalConvolution2 这是特定于clnn的。 它同样适用于cpu和 cuda,而不仅仅是在OpenCL上。 它与TemporalConvolution兼容,在CUDA和OpenCL上比TemporalConvolution更快。

    传递函数层

    • nn.Tanh
    • nn.Sigmoid
    • nn.ReLU
    • nn.ELU
    • nn.Exp
    • nn.Sqrt
    • nn.Square
    • nn.Abs
    • nn.LogSigmoid
    • nn.HardTanh
    • nn.LogSoftMax
    • nn.SoftMax ( 包括空间模式)

    表图层

    因为它们基于底层的Torch 操作,它们已经在 cltorch中实现。 测试:

    • nn.CMulTable
    • nn.CAddTable

    准则

    • nn.MSECriterion
    • nn.ClassNLLCriterion

    容器:

    容器'工作',因为它们只调用所包含模块上的标准操作。 测试:

    • nn.Sequential
    • nngraph

    Trainers

    从理论上说,培训师'工作',因为他们只是在网络上调用标准的Torch 方法。 以下是不错的第一个选择:

    • nn.StochasticGradient
    • optim.lbfgs
    • optim.adam

    定时

    Soumith基准层

    请参见 https://github.com/soumith/convnet-benchmarks#imagenet-winners-benchmarking

    • 在泰坦X 上,OpenCL Torch 比 CUDA Torch 慢 3倍
      • 例如 VGG,cutorch采用 1100毫秒,cltorch采用 3400毫秒

    示例网络

    移植指南

    这里提供了用于项目维护者的移植指南: porting-guidelines.md

    最近的更改

    • 二。五月
      • 应用:
        • :三月
          • 添加 TemporalConvolution2: 与TemporalConvolution相同的API和用法,但是在gpu上更快
    • 四月四月:
      • 应用:
        • 10三月:
          • @pawni ( 尼克 Pawlowski ) 添加 SpatialUpSamplingNearest。 感谢你的昵称
        • 二十二月:
          • @gloine ( Jaehyung李) 增加了对ClassNLLCriterion的非批处理输入支持。 感谢你的Jaehyung
    • 四四四月:
      • 回滚到 21st 月,在 upstream Torch 中大量的THNN更改之前
      • 另外,安装过程现在要使用一个特定的Torch 发行版,
    • 二月份:
      • 合并/移植THNN阶段 3任何奇怪的构建问题,请更新 nnclnn
    • 第二个 2016年01月:
      • 合并/移植的THNN架构,以及 abs的实现,所以单元测试现在再次传递。
    • 十二十二月:
      • sergey SpatialAveragePadding和ceil核的合并 master 分支
      • 添加了 ELU
    • ::
    • :月:
      • 移植了跨平台的最新cunn实现,IE 大约是sergey确定最大池( )的
        • 这包括 :ceil() 实现
    • 九月:
      • 添加了LogSoftMax的非批处理实现( 以前只处理过批处理输入)
      • 添加了 SoftMax,用于批处理和非批处理
    • 第二十九月:
      • 为连续池添加了 SpatialMaxPooling ( 以前仅处理的批处理输入)的非批处理实现

    旧版本的更改


    相关文章