NNabla,是索尼开源的简洁高效的神经网络库,其中包含用于深度学习系统的 Python API 与用于嵌入式设备的 C++ API 。索尼最终的目标是将其打造成像台式电脑、HPC 集群,嵌入式设备和生产服务器一样运行。
特性:
CUDA 兼容性。
它拥有 Python API,因此最大化了设计神经网络模型的灵活性,并且还能支持快速的原型设计和测试。
同时支持静态和动态计算图(computation graphs)。静态计算图在速度和内存上有更高的效率,而动态计算图在设计模型上更加灵活。
有各种内置的神经网络模块,如函数、算子和优化器等。该神经网络库的模块软件架构允许开发者添加新的模块,因此开发者可以基于新的研究思路实现更快的原型设计、产品或服务部署。
它由轻便、轻量的 C++11 核所编写,并能在多个平台上运行。该框架已经在 Linux (Ubuntu 16.04) 和 Windows (8, 10) 上进行了测试。
极高的速度和内存效率。计算图引擎允许安全的原位计算(in-place computation)和内存分享,这将极大地将少内存的占用。因此该框架的设计仅采用少量的计算负载就能执行前向和后向传播。
为各种计算方案而设计的解耦合实现(Decoupled implementation)接口允许为每一个计算方案提供插件式的开发方案。开发者可以更关注函数算子实际计算的特定实现,而不用管计算图引擎与其内存优化等。