CCNN,一款完全自主开发的国产人工智能学习推理框架,集成自研算法,支持多元回归、多元分类以及图像、语音和文字识别等深度学习应用。框架兼容多种平台,GPU 加速支持CUDA、Rocm和OpenCL标准,无GPU时可通过C++OpenMP实现 CPU多线程加速,所有算法均为自主实现,未依赖第三方库。CCNN通过XML 配置灵活构建神经网络结构,支持自动微分,已适配VGG16、ResNet50、Bert 等多种模型,并提供多卡并行训练与推理功能。2025年7月推出支持fp16和fp8精度的新版本,计划于同年9月 实现集群训练推理。推荐搭配国产龙芯与OpenCL,彰显自主创新实力。
Get started左图给出部分实验数据。以BatchSize为16,不同的网络模型,进行一次学习迭代所需的平均时间。
CCNN采用宏定义来兼容不同的平台及编译器,对于系统及编译器的不同,使用不同的系统函数来实现同样的功能。主要体现在线程的API函数、字符串处理等少量系统函数。程序编译的时候根据宏定义选择对应的系统函数,实现维护开发一套源代码,可以在不同环境下使用运行。 目前CCNN可以运行在Windows、Ubuntu Linux、UOS Linux、arm Linux、龙芯Linux及Apple Mac系统中。 不使用GPU加速的时候,不需要GPU显卡设备,使用GPU需要安装对应的显卡驱动。 使用GPU加速的时候,使用CUDA、Rocm或OpenCL计算框架,GPU加速设备可使用NVIDIA显卡(CUDA)、AMD显卡(OpenCL、Rocm)、Intel显卡(OpenCL)、MAC GPU(OpenCL)、国产摩尔线程S80(OpenCL)显卡及国产风华二号(OpenCL)显卡。
功能简介
各个层的输入及参数,每个层对应一个张量算子,提供卷积、反卷积、全连接、偏置、激活、Batch Norm、Layer Norm、L2正则化、随机失活、池化、极大采样、剪切等,以及复合算子FCA、CBA、ResN、ResU、融合张量、Btnk1、Btnk2、OneStage、Softmax、TensorToLayer、SumLayer、RNN、GRU、自注意力、多头注意力、transformer等;
损失函数:SoftMax With lost、Focal Lost、MSE、RMSE、MAE;
优化器:SGD、L2正则化、带动量更新批处理大小、最大迭代学习次数、保存学习权重文件次数、学习率;
GPU、CPU内存使用大小配置;
样本增强:几何变化增强、高斯正态分布增强图像读取存储,缩放,通道格式变换;
样本随机: 多线程随机读取BatchNum组数据;
训练:使用自带的训练程序及配置XML文件来训练,也可以通过调用SDK构建网络训练。
推理:通过调用SDK推理,网络结构可以从XML加载或SDK加载。
内存方面:使用参数内存池、计算空间交换内存池,不动态开辟内存,计算过程中使用的内存全部来源于内存池,数据在网络计算流动的时候快速指向定位,没有多余的复制;相比其它人工智能框架极大的减少对内存、GPU显存的需求量。
Embark expeditiously on your journey with the domestically developed artificial‑intelligence training framework.
Here are some of our FAQs. If you have any other questions you'd like answered please feel free to email us.