* Rename readme.MD to README.md

* Create README.md

* Add files via upload

* Update README.md

* Delete zhangliang.png

* Add files via upload

* Rename 实践项目/2020_订制一个新的张量运算/README.md to 实践项目/2021_订制一个新的张量运算/README.md

* Update README.md

* Update readme.MD

* Rename readme.MD to README.md
This commit is contained in:
peterchenhao 2021-10-15 14:57:47 +08:00 коммит произвёл GitHub
Родитель d783e8b023
Коммит 2719b4a06d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 39 добавлений и 1 удалений

Двоичные данные
实践项目/2020_订制一个新的张量运算/zhangliang.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 65 KiB

Просмотреть файл

@ -33,7 +33,7 @@ Qlib具有涵盖量化投资全流程、聚齐AI三大要素数据、算法
- 任务难度:五星
## 项目提交方式
提交项目至GitHub“微软人工智能教育与学习共建社区”指定位置,需要有文档和代码,文档中给出代码的具体运行步骤。
提交项目至GitHub“微软人工智能教育与学习共建社区”专用[issue](https://github.com/microsoft/ai-edu/issues/681),需要有文档和代码,文档中给出代码的具体运行步骤。
## 项目时间安排
项目9月中旬发布11月下旬验收。项目时长约为三个月。

Просмотреть файл

@ -0,0 +1,38 @@
# 2021年微软开源学习社群实践项目定制一个新的张量运算
## 项目简介:
本实践案例主要任务为定制一个新的张量运算。通过完成本案例参与者可以了解深度学习框架执行机制理解DNN框架中的张量算子的原理并在基于不同方法实现新的张量运算的同时比较其性能差异。
## 实验环境:
PyTorch==1.5.0
## 实验原理:
- 深度神经网络中的张量运算原理
- PyTorch中基于Function和Module构造张量的方法
- 通过C++扩展编写Python函数模块
## 具体步骤:
- 在MNIST的模型样例中选择线性层Linear张量运算进行定制化实现。
- 理解PyTorch构造张量运算的基本单位Function和Module。
- 基于Function和Module的Python API重新实现Linear张量运算。
> - 修改MNIST样例代码
> - 基于PyTorch Module编写自定义的Linear 类模块
> - 基于PyTorch Function实现前向计算和反向传播函数
> - 使用自定义Linear替换网络中nn.Linear() 类
> - 运行程序,验证网络正确性
- 理解PyTorch张量运算在后端执行原理
- 实现C++版本的定制化张量运算
- 基于C++实现自定义Linear层前向计算和反向传播函数并绑定为Python模型
> - 将代码生成python的C++扩展
> - 使用基于C++的函数扩展实现自定义Linear类模块的前向计算和反向传播函数
> - 运行程序,验证网络正确性
- 使用profiler比较网络性能比较原有张量运算和两种自定义张量运算的性能
- 【可选实验加分】实现卷积层Convolutional的自定义张量运算
附:案例实现流程图
![](./zhangliang.png)
## 项目提交方式:
提交项目至GitHub“微软人工智能教育与学习共建社区”专用[Issue](https://github.com/microsoft/ai-edu/issues/680),需要有文档和代码,文档中给出代码的具体运行步骤。
## 案例参考地址:
AI-System/Labs/BasicLabs/Lab2 at main · microsoft/AI-System · GitHub