Oneflow-Inc / models

Models and examples built with OneFlow
Apache License 2.0
94 stars 37 forks source link

模型验收&pr提交标准 #38

Open Ldpe2G opened 3 years ago

Ldpe2G commented 3 years ago

复现好的模型,代码提交 Oneflow-Inc/models 仓库统一管理。

对于能找到Pytorch官方实现的模型,比如视觉分类网络,直接对齐torch实现然后把torch的预训练模型直接转成oneflow来用,复现的模型代码需要提供:

获取运行当前目录下 python 脚本所需的 requirements.txt

pip3 install pipreqs --user
pipreqs . --no-pin

README.md 要用英文来写,具体内容和格式可以参考:resnet50。如果是生成类或者像素级任务,比如 GAN,风格化、分割和超分等等,则需要在 README.md 中提供可视化的结果。

代码中的注释也要用英文来写。

预训练模型需要上传到阿里云,可以暂时先发给我统一上传。模型保存方式,可以参考: https://github.com/Oneflow-Inc/models/blob/main/resnet50/train_oneflow.py#L120

预测或者训练python脚本需同时提供 bash 脚本,用于方便用户设置一些可变的命令行参数。比如预测脚本,可在bash脚本中下载预训练模型,尽量要让用户下载代码装好oneflow之后,直接运行 bash 脚本就能跑起来。比如 resnet50/infer.sh

提交pr之后,reviewer 要添加 oneflow-ci-bot 对代码进行格式化。

wyg1997 commented 3 years ago

代码格式要求

要求代码在提交前要按pep8的标准做代码格式化。代码格式化工具使用autopep8。

在VSCode中可以参考:https://blog.csdn.net/Mrs_chens/article/details/102566018 安装相关工具并使用。

也可以直接在终端中执行命令:

pip install autopep8  # 安装autopep8
autopep8 -i -r .  # 使用autopep8格式化本目录下的所有文件
doombeaker commented 3 years ago

代码格式要求

要求代码在提交前要按pep8的标准做代码格式化。代码格式化工具使用autopep8。

在VSCode中可以参考:https://blog.csdn.net/Mrs_chens/article/details/102566018 安装相关工具并使用。

也可以直接在终端中执行命令:

pip install autopep8  # 安装autopep8
autopep8 -i -r .  # 使用autopep8格式化本目录下的所有文件

这个我目前用的是 black(因为 oneflow 仓库是用的 black),我们要不要在此把风格都统一了(比如 oneflow 仓库也用 autopep8)

wyg1997 commented 3 years ago

这个我目前用的是 black(因为 oneflow 仓库是用的 black),我们要不要在此把风格都统一了(比如 oneflow 仓库也用 autopep8)

我感觉可以暂时先不那么严要求,格式化这个动作一定要有,用什么工具都可以,至少仓库里的模型没有那种一看就很明显的格式问题。

Flowingsun007 commented 3 years ago

还有一条需要广播注意下,就是模型库的提交容易带上权重、数据集、图像、log等文件,提交前需要注意,千万不要把大文件(>1mb)提交上去,不然会影响整个仓库。 可以提交前仔细检查,不要git add/commit 一些不需要提交的大文件,也可在本地仓库加一个pre-commit做限制和检查,见issue:https://github.com/Oneflow-Inc/OneTeam/issues/400