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

运行完 supernet.py 后,如何进行模型加载校验(val)? #14

Closed
SwordHarry opened this issue Dec 12, 2021 · 4 comments
Closed

Comments

@SwordHarry
Copy link

首先感谢您的复现
我运行完 supernet.py 后,并不知道最佳的 choice 是哪一个,请问哪里可以知道最后超网的 choice?
然后如何加载模型进行校验,我尝试运行 random_search.py,默认加载 supernet.py 产出的模型,会报错
我理解 choice_model.py 为固定一个 choice 进行训练,和 supernet.py, random_search.py 三者有何不同?

@ShunLu91
Copy link
Owner

  1. 运行完supernet.py只是把超网训练好了,此时并不知道最佳的choice是什么,还需使用进化算法搜索才能得到最佳的choice,此处代码可参照官方repo;
  2. 使用random_seardch.py就是在使用训练好的超网模型校验随机路径。由于代码比较久了,中途有更新可能没有兼顾到。具体报错可以发上来看看,我再进行修正;
  3. choice_model.py 就是固定一个 choice 进行训练。正常流程是这样的:supernet.py训练好超网-->进化算法搜索最佳choice(我用random_search.py进行简单示例)-->choice_model.py训练最佳choice。简单来说,可以用random_search.py验证大量随机模型,然后选其中精度最高的一个作为最佳choice输给choice_model.py。

感谢指出代码中的错误,如果还有任何问题,欢迎继续提问!

@SwordHarry
Copy link
Author

你好
运行完 supernet.py 以后,再次运行 random_search.py,将会报加载模型的错误,情况如下:
image
我基本没有改动任何代码,只是将 --exp_name="test_super",因为 supernet.py 默认生成 test_super_ 前缀的模型文件

@ShunLu91
Copy link
Owner

好的,我会尽快更新代码并修正这个错误

@ShunLu91
Copy link
Owner

上述问题已修正,并提供了log和checkpoint,可以再试试。

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

No branches or pull requests

2 participants