项目简介
Plasticity是基于C++的神经网络和符号数学框架,为开发者提供简单易用的接口,用于设计和训练在专用硬件上运行的神经网络。该框架支持OpenCL,能适配多种OpenCL后端,如ARM、Intel CPU、NVIDIA和AMD GPU等。项目名称源于神经网络“可塑性”,即根据训练数据调整以适应目标函数的能力。
项目的主要特性和功能
- 神经网络设计:提供简单接口,可设计包含卷积层、池化层、全连接层等的神经网络。
- 自动微分:具备符号数学库,可自动进行微分计算,利于神经网络训练。
- 多端支持:支持多种OpenCL后端,能在多种硬件上运行。
- 灵活的训练机制:提供多种优化器和损失函数选择,适应不同学习任务。
安装使用步骤
安装依赖
- 安装OpenCL及相应后端驱动。
- 安装支持C++17的现代C++编译器。
- 复制并导入此项目和clutil库。
构建和运行测试
使用Bazel构建系统,运行以下命令验证单元测试是否通过:
bash
bazel run path/to/nnet:nnet_test
示例应用
对于机器学习和神经网络,主要文件是nnet.h,包含在目标//nnet:nnet中。可查看cifar_test.cc或单元测试nnet_test.cc获取示例用法代码。
项目构建
使用Bazel构建系统,如执行bazel build nnet:nnet_tests
来构建和运行单元测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】