Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PaddlePaddle hackathon] + convert paddle "topk" ops #14

Conversation

JunnYu
Copy link

@JunnYu JunnYu commented Nov 9, 2021

Details:

[PaddlePaddle hackathon] + convert paddle "topk" ops

Details:

67c606723d2ca2c7b4b415b7d239c06

Alexander Zhogov and others added 2 commits November 9, 2021 10:11
* Azure CI: exclude docs from trigger

* Add Windows

* Try docs/*

* Fix Windows
@openvino-dev-samples
Copy link
Owner

openvino-dev-samples commented Nov 10, 2021

您好,因为paddle.fluid.layers里的算子马上要被废弃,请尽量使用paddle.topk作为测试用例
如果想使用动态图的话,也可以参考:
https://github.com/openvinotoolkit/openvino/pull/8342/files

@JunnYu
Copy link
Author

JunnYu commented Nov 10, 2021

题目标题:为 OpenVINO 实现 Paddle 算子 topk 转换

技术标签:框架,C++, 神经网络算子

题目难度:简单

详细描述:每个框架都有自己的模型和算子表达。OpenVINO 对 PaddlePaddle 的支持需要从 Paddle 的算子映射转换到 OpenVINO 的算子。在这个过程中,我们将熟悉深度学习神经网络的算子表达和计算。

在这个任务中,需要你将 Paddle 算子 topk 转换到 OpenVINO 算子 TopK。这个任务中的算子相对简单,完成1对1映射即可,如何实现请参考PR7462。

题目要求的是转换的是topk,而topk有两种版本,v1是旧版,v2是新版,因此我完成任意一个版本都可以。(你们没有明确)
————————————————————————————————————————————————————
例如:在这个 #13 题目中需要转换的也是paddle.fluid.layers.expand,因为这个底层使用的是expand这个op,
而新版的paddle.expand使用的是expand_v2这个op(这个已经被转换过了。)
我由于之前先做了这题,而这题使用到了paddle.fluid.layers.expand这个,因此我有理由相信你们是需要关于paddle.fluid.layers里的算子的转换。

@openvino-dev-samples
Copy link
Owner

题目标题:为 OpenVINO 实现 Paddle 算子 topk 转换

技术标签:框架,C++, 神经网络算子

题目难度:简单

详细描述:每个框架都有自己的模型和算子表达。OpenVINO 对 PaddlePaddle 的支持需要从 Paddle 的算子映射转换到 OpenVINO 的算子。在这个过程中,我们将熟悉深度学习神经网络的算子表达和计算。

在这个任务中,需要你将 Paddle 算子 topk 转换到 OpenVINO 算子 TopK。这个任务中的算子相对简单,完成1对1映射即可,如何实现请参考PR7462。

题目要求的是转换的是topk,而topk有两种版本,v1是旧版,v2是新版,因此我完成任意一个版本都可以。(你们没有明确) ———————————————————————————————————————————————————— 例如:在这个 #13 题目中需要转换的也是paddle.fluid.layers.expand,因为这个底层使用的是expand这个op, 而新版的paddle.expand使用的是expand_v2这个op(这个已经被转换过了。) 我由于之前先做了这题,而这题使用到了paddle.fluid.layers.expand这个,因此我有理由相信你们是需要关于paddle.fluid.layers里的算子的转换。

@openvino-dev-samples
Copy link
Owner

您这边有些误会哈,没说您这么操作不行,只是我们更建议用paddle.topk的测试用例。
因为这次活动每个任务只有一位获奖者,我们会对同一个PR的质量有一些评估比较。所以如果其他参与者实现了paddle.topk的测试用例,那我们就会更倾向merge他的PR。供参考。

@JunnYu
Copy link
Author

JunnYu commented Nov 10, 2021

上面的我明白了,你们的意思是更倾向于实现paddle.topk转换而不是paddle.fluid.layers.topk转换,但在题目定义的时候不事先说明告知,而在实际验收的时候选择自己更倾向的算子合并?
这个pr closed是啥意思?

@openvino-dev-samples
Copy link
Owner

不好意思PR是不小心close掉的,又重新开启了。
关于第一个问题,Paddle的官方文档里已经有明确说明paddle.fluid以后将会被废弃,所以我们肯定是更推荐使用Paddle未来会继续维护的算子。请你理解
image

@JunnYu
Copy link
Author

JunnYu commented Nov 10, 2021

@Openvino-dev-contest
topk_v2现在已经添加。
5a60a8c64febcddd9a1734a7a96ae5c

sorted参数无法进行测试,paddle中当sorted=False时候不知道返回的顺序是什么,因此无法与openvino的topk算子对应上。

    AddAttr<bool>("sorted",
                  "control flag whether to return elements in sorted order")
        .SetDefault(true);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants