Skip to content

applezyh/MinNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于C++的深度学习框架: minnet

1. 框架配置

该框架基于C++20标准实现,除了demo对图像的读写和显示功能会用到OpenCV库之外没有其他外部依赖。

在根目录运行:

mkdir build
&& cd build
&& cmake ..

完成项目构建,构建完成后可以在{根目录}/build/src目录下找到对应的静态链接库文件lib_minnet.a。如果运行机器安装有OpenCV您也可以在{根目录}/build/example目录下找到对应的演示程序,演示程序将基于mnist数据集进行训练并且输出测试结果。

2. 目录结构

  • src目录下存放着框架核心代码。
    • Tensor: 框架核心数据结构

    • Optimizer: 优化器,目前只实现了SGD优化器

    • Layer: 模型核心数据结构,卷积层和全连接层和模型基类

    • Function: 常用损失函数

  • include目录存放着对应头文件
  • example目录下存放着演示程序,想要编译运行需要安装OpenCV

3.框架结构

构建以动态图的形式构建神经网络,只有在运算发生时网络才会构建。

核心数据结构Tensor类,该类重载了加、减、乘、除、卷积、矩阵乘法...等运算,并且根据运算完成自动求导,最终实现构建神经网络。神经网络最为核心的前向传播和反向传播功能均由此数据结构实现。

// TODO()

如果您对该框架感兴趣,不妨联系我说出您的想法与问题。email:applezyh@outlook.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors