-
Notifications
You must be signed in to change notification settings - Fork 136
Closed
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plangood first issueGood for newcomersGood for newcomers
Description
此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)Phase 4 任务 ISSUE,欢迎社区开发者参与共建~
- 认领前,辛苦确认是否完成报名~
- 更多任务,可查看 「OSCP Phase4 Season of Dev」Project
This ISSUE is one of the tasks of the SecretFlow Open Source Contribution Plan (referred to as SF OSCP) Phase 4. Welcome to join us in building it together!
- Before claiming a task, please make sure you have signed up.
- For more tasks, you can check the "OSCP Phase4 Season of Dev" Project.
任务介绍
- 任务名称: 使用SPU实现Robust Scaler预处理算法
- 技术方向: SPU/SML
- 任务难度: 热身🌟
- 任务期望时间: 2 周
详细要求
- 安全性: 无reveal
- 功能性: 实现与sklearn中相同的功能集合,包括centering,scaling,指定分位数点,单位方差等
- 收敛性: 包含 simulator 跑出的实验数据并且证明收敛/正确性
- 代码规范: Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交说明: 关联该 isuue 并提交代码至https://github.com/secretflow/spu/tree/main/sml (具体目录位置请与reviewer讨论)
- 特殊说明: 若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明
能力要求
- 熟悉经典的机器学习算法
- 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法
操作说明
- 可参考:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
- 操作指引:https://www.secretflow.org.cn/zh-CN/docs/spu/main/tutorials/develop_your_first_mpc_application
- 示例:
- 逻辑实现:https://github.com/secretflow/spu/blob/main/sml/linear_model/sgd_classifier.py
- 单测/精度测试: https://github.com/secretflow/spu/blob/main/sml/linear_model/tests/sgd_classifier_test.py
- emulation测试: https://github.com/secretflow/spu/blob/main/sml/linear_model/emulations/sgd_classifier_emul.py
贡献说明
- 贡献指引文档:https://github.com/secretflow/spu/blob/main/sml/development.md
- PR 提交注意事项“签署 CLA,添加 license,具体的 python 代码规范,格式化工具以及在 vscode 中的配置和使用(仅供参考,其余 IDE 类似,只要使用 black 和 isort 即可)等详细内容可以参考文档 中的对应内容 (至于单测等规范请参考本 issue 中的示例部分完成)
Metadata
Metadata
Assignees
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plangood first issueGood for newcomersGood for newcomers
Type
Projects
Status
Done