Open
Description
(此 ISSUE 为 PaddlePaddle Hackathon 第二期活动的任务 ISSUE,更多详见 【PaddlePaddle Hackathon 第二期】任务总览)
【任务说明】
任务标题:为 Paddle 新增 index_fill API
技术标签:深度学习框架,Python
任务难度:困难
详细描述:对于 nd tensor, 沿着某个轴 axis 取 (n-1)d 的切片,索引位置是 index, 并且将 value 中值填充到这些切片上。其中 value 是一个 scalar 或者 0d tensor, 该运算需要支持微分。调用路径:
- paddle.index_fill 作为独立的函数调用,非 inplace
- paddle.index_fill_,作为独立的函数,inplace 地修改输入;
- Tensor.index_fill(axis, index, value) 做为 Tensor 的方法使用,非 inplace;
- Tensor.index_fill_(axis, index, value) 做为 Tensor 的方法使用, inplace 修改输入;
【提交流程】
请按 新增API 开发&提交流程中的描述,完成任务提交过程中的相关步骤。
【提交内容】
- API 的设计文档,并提 PR 至 PaddlePaddle/community 的 rfcs/APIs 目录
- Python 实现代码 & 英文 API 文档,在 Paddle repo 的 python/paddle/tensor/manipulation.py 文件。
- C ++/CUDA 实现代码,头文件在 Paddle repo 的 paddle/phi/kernels目录,cc文件在paddle/phi/kernels/cpu 目录 和 cu文件在paddle/phi/kernels/gpu 目录
- 单测代码,在 Paddle repo 的 python/paddle/fluid/tests/unittests 目录
- 中文API文档,在 docs repo 的 docs/api/paddle/ 目录
【合入标准】
【技术要求】
- 了解 Paddle 算子开发流程
- 熟练掌握 C++,Python
- 有一定的 CUDA 开发经验
【参考内容】
【答疑交流】
- 如果在开发中对于上述任务有任何问题,欢迎在本 ISSUE 下留言交流。
- 对于开发中的共性问题,在活动过程中,会定期组织答疑,请大家关注官网&QQ群的通知,及时参与。