6 Star 29 Fork 4

andy-upp / tensor-calcu-lib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.48 KB
一键复制 编辑 原始数据 按行查看 历史
liguanghui 提交于 2020-10-18 07:32 . 完善文档

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
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/
C++
1
https://gitee.com/andy-upp/tensor-calcu-lib.git
git@gitee.com:andy-upp/tensor-calcu-lib.git
andy-upp
tensor-calcu-lib
tensor-calcu-lib
master

搜索帮助