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

Support Poolformer #137

Merged
merged 16 commits into from Feb 28, 2022
Merged

Support Poolformer #137

merged 16 commits into from Feb 28, 2022

Conversation

thinksoso
Copy link
Contributor

@thinksoso thinksoso commented Feb 7, 2022

Support Poolformer

  • build poolformer model
  • convert pretrained weight
  • inference test on imagenet and update model_zoo
  • update docs
  • update changelog
  • pytorch speed comparison oneflow版本过慢,待解决

@rentainhe

This comment was marked as resolved.

@thinksoso thinksoso changed the title Poolformer Add Poolformer Feb 8, 2022
rentainhe
rentainhe previously approved these changes Feb 8, 2022
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Show resolved Hide resolved
@Ldpe2G
Copy link
Collaborator

Ldpe2G commented Feb 8, 2022

还有一点以后加模型的时候,都要添加和torch的速度对比数据,作为todo的一项,列在pr里面

@rentainhe
Copy link
Contributor

还有一点以后加模型的时候,都要添加和torch的速度对比数据,作为todo的一项,列在pr里面

是不是有脚本可以直接跑个测速

@Ldpe2G
Copy link
Collaborator

Ldpe2G commented Feb 8, 2022

还有一点以后加模型的时候,都要添加和torch的速度对比数据,作为todo的一项,列在pr里面

是不是有脚本可以直接跑个测速

https://github.com/Oneflow-Inc/vision/blob/main/ci/check/run_speed_test.sh
是的,在这里照着加就行了,需要稍微学习一下怎么测

@rentainhe
Copy link
Contributor

还有一点以后加模型的时候,都要添加和torch的速度对比数据,作为todo的一项,列在pr里面

是不是有脚本可以直接跑个测速

https://github.com/Oneflow-Inc/vision/blob/main/ci/check/run_speed_test.sh 是的,在这里照着加就行了,需要稍微学习一下怎么测

好的👌

@Ldpe2G
Copy link
Collaborator

Ldpe2G commented Feb 8, 2022

还有一点以后加模型的时候,都要添加和torch的速度对比数据,作为todo的一项,列在pr里面

是不是有脚本可以直接跑个测速

https://github.com/Oneflow-Inc/vision/blob/main/ci/check/run_speed_test.sh 是的,在这里照着加就行了,需要稍微学习一下怎么测

好的👌

我简单写个文档吧

.gitignore Outdated Show resolved Hide resolved
@kaijieshi7 kaijieshi7 self-requested a review February 10, 2022 06:55
results/results_imagenet.md Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Show resolved Hide resolved
Copy link
Contributor

@kaijieshi7 kaijieshi7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码小问题很多。需要严谨的对待发现的小问题。

flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
@thinksoso
Copy link
Contributor Author

代码小问题很多。需要严谨的对待发现的小问题。

是的,复制的地方比较多,在merge之前认真过一遍,多谢指正~

flowvision/models/poolformer.py Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
@kaijieshi7
Copy link
Contributor

这个源码有个地方有问题,暂时别合并

@rentainhe
Copy link
Contributor

这个源码有个地方有问题,暂时别合并

我们去检查一下poolformer的源码吧

@kaijieshi7
Copy link
Contributor

这个源码有个地方有问题,暂时别合并

是我搞错了,不是很致命的问题。

flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
@thinksoso thinksoso changed the title Add Poolformer Support Poolformer Feb 16, 2022
ci/check/run_speed_test.sh Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Outdated Show resolved Hide resolved
flowvision/models/poolformer.py Show resolved Hide resolved
@rentainhe
Copy link
Contributor

记得README里也要修改一下~

@rentainhe rentainhe added this to In progress in Flowvision V0.2.0 Progress Feb 16, 2022
@thinksoso
Copy link
Contributor Author

Groupnorm是速度瓶颈

在测速时,发现与pytorch相比速度过慢
image
绕过Groupnorm之后,速度提升几十倍,可以证明是groupnorm的问题
image

@BBuf
Copy link
Contributor

BBuf commented Feb 17, 2022

需要做得精细一点,即使Group Norm被绕过但还是慢了一点,可以profile看看具体哪里慢了,可以和白夏颖交流。

@BBuf
Copy link
Contributor

BBuf commented Feb 17, 2022

需要做得精细一点,即使Group Norm被绕过但还是慢了一点,可以profile看看具体哪里慢了,可以和白夏颖交流。

意思就是你不用关心GN,在OneFlow和PyTorch都不用GN的情况下寻找一下为什么OneFlow还是慢一点,参考:https://github.com/Oneflow-Inc/OneTeam/issues/1020

@rentainhe
Copy link
Contributor

@kaijieshi7 @Ldpe2G 各位再Review一下这个代码,然后没什么的话我们就先合并进去,速度问题再单独开一个Issue去跟踪,这样不会影响模型库的搭建速度

@rentainhe
Copy link
Contributor

这个PR merge一下main之后可以合并了~

@rentainhe rentainhe merged commit e9fcfac into main Feb 28, 2022
@rentainhe rentainhe deleted the poolformer branch February 28, 2022 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

5 participants