# tensor-calcu-lib **Repository Path**: andy-upp/tensor-calcu-lib ## Basic Information - **Project Name**: tensor-calcu-lib - **Description**: 一个基于C++和python的张量计算库,目标是用C++实现常见的张量操作,便于将python的原型代码改写成C++ - **Primary Language**: C++ - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 29 - **Forks**: 4 - **Created**: 2020-07-28 - **Last Updated**: 2023-11-04 ## Categories & Tags **Categories**: mathlibs **Tags**: None ## README # tensor-calcu-lib #### 介绍 一个基于C++和python的张量计算库,目标是用C++实现常见的张量操作,便于将python的原型代码改写成C++,以及用C++实现卷积操作。目前已经实现的功能包括 多维张量加法减法乘法,relu,flatten,张量变形(NHWC => NCHW),张量线性计算(xw+b), 最大池化,后续还将实现二维卷积,并添加CNN训练部分的代码。 #### 软件架构 分为两部分,先用python实现一遍张量操作,然后用C++实现同样的操作,最后用python调用C++编译生成的静态库文件,以验证C++实现是否正确。测试用例 test_01.py 到 test_05.py 分别对这些功能进行测试 . ├── easynn_cpp.py --python与C++的桥接代码 ├── easynn_golden.py --python的实现部分 ├── easynn.py --python实现的调度 ├── easynn_test ├── easynn_test.cpp --C++测试代码 ├── libeasynn.so ├── Makefile ├── mnist_test.npz ├── msimple_params.npz ├── src --C++部分实现 │ ├── evaluation.cpp │ ├── evaluation.h │ ├── expression.cpp │ ├── expression.h │ ├── libeasynn.cpp │ ├── libeasynn.h │ ├── program.cpp │ ├── program.h │ ├── tensor.cpp │ └── tensor.h ├── test_01.py --python测试代码 ├── test_02.py ├── test_03.py ├── test_04.py └── test_05.py #### 安装教程 make ./easynn_test 或者 python3 test_0x.py #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)