#神经网络 #hpc #计算 #后端 #插件 #网络 #collenchyma

collenchyma-nn

提供神经网络操作的 collenchyma 插件

9 个不稳定版本 (3 个破坏性版本)

使用旧的 Rust 2015

0.3.4 2016 年 3 月 3 日
0.3.3 2016 年 3 月 3 日
0.3.1 2016 年 2 月 24 日
0.2.1 2016 年 1 月 21 日
0.0.1 2015 年 12 月 7 日

#401机器学习

每月 27 次下载
leaf 中使用

MIT/Apache

135KB
2K SLoC

collenchyma-NN • 加入 https://gitter.im/autumnai/collenchyma 的聊天 构建状态 许可证

collenchyma-NN 为 Collenchyma 提供了相关的神经网络算法。在服务器、桌面或移动设备上运行 NN 操作,GPU、FPGA 或 CPU,无需关注机器上的 OpenCL 或 CUDA 支持。

collenchyma-NN 在 Autumn 上启动,以支持机器智能框架 Leaf,提供无后端依赖、高性能的解决方案。

更多信息,

  • 请参阅 collenchyma-NN 的 文档
  • 访问 Collenchyma 了解更多关于可移植操作和其他插件的信息。
  • 或者在 TwitterGitter 上联系

提供的操作

此插件为 Collenchyma 后端提供了以下操作。每个操作都包括正向 + 反向。一个 - 表示尚未实现。更多信息请参阅 文档

操作 CUDA OpenCL 本地
sigmoid cuDNN v3 - Rust
sigmoid逐点 cuDNN v3 -
ReLU cuDNN v3 - Rust
ReLU逐点 cuDNN v3 -
tanh cudNN v3 - Rust
tanh逐点 cudNN v3 -
归一化(LRN) cudNN v3 - -
卷积 cudNN v3 - -
Softmax cudNN v3 - Rust
LogSoftmax cudNN v3 - Rust
最大池化 cudNN v3 - -
平均池化 cudNN v3 - -

感谢 ehiggs 实现了原生的Rust操作。

入门指南

如果您使用Cargo,只需将collenchyma-NN添加到您的Cargo.toml文件中。

[dependencies]
collenchyma = "0.0.8"
collenchyma-nn = "0.3.4"

如果您使用Cargo Edit,可以调用

$ cargo add collenchyma-nn

用法

将Plugin特质和其他重要的Collenchyma特质/结构体引入作用域,您将能够在Collenchyma后端执行此处提供的操作。

extern crate collenchyma as co;
extern crate collenchyma_nn as nn;
use co::prelude::*;
use nn::*;
fn main() {
    // Initialize a CUDA Backend.
    let backend = Backend::<Cuda>::default().unwrap();
    // Initialize two SharedTensors.
    // Usually you would want also fill them with data.
    // More infos about that in the Collenchyma README.md
    let mut x = SharedTensor::<f32>::new(backend.device(), &(1, 1, 3)).unwrap();
    let mut result = SharedTensor::<f32>::new(backend.device(), &(1, 1, 3)).unwrap();
    // Use the operation provided by this Plugin.
    backend.sigmoid(&mut x, &mut result);
}

贡献

想要贡献?太棒了!我们提供了指南,帮助您开始代码或文档的贡献。我们还有一些需要您帮助的高优先级问题。

我们有一个主要是实时协作的文化,在这里GitHub和Collenchyma Gitter频道上进行。您还可以联系维护者{@MJ@hobofan}。

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,如Apache-2.0许可证中定义的,将按以下方式双重许可,不附加任何额外条款或条件。

变更日志

变更日志是记录项目所有变更的日志或记录,如网站或软件项目,通常包括错误修复、新功能等记录。 - 维基百科

您可以在CHANGELOG文件中找到发行历史。

我们使用Clog,Rust自动生成CHANGELOG文件的工具。

许可证

根据您的选择,许可为以下之一

依赖关系

~1.1–2.5MB
~29K SLoC