-
Notifications
You must be signed in to change notification settings - Fork 5
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
Child model search reproduction based on P100 #1
Comments
@Tiantian-Han, I am also facing similar issue. I reran the search command and I am getting 72 msec. I created new issue if you want to look at what command I used? |
@soyebn I think that I have found and solved this problem. You can check line 434, line 440 and line 866 in search.py. LUT file is measured in seconds, line 434 should be formulated in Milliseconds according to paper. Latency is computed in seconds in line 866. Latency constraints=25 ms is unreasonable. Latency constraints consistent with the LUT should be given. That is to say, we need to ensure the consistency of the units in the entire project. |
Hi @Tiantian-Han, I think what you are saying makes sense. There is some inconsistency in the assumed latency unit in the code. I think most of the latency search code uses msec as unit but the predicted latency computed in extract_expected_latency(), using LUT, returns latency in second. So I made the following change after line #429 in search.py. I assume line #434 and #440 expect latency in msec.
I reran the search command with the above change but I still didn't get close to target latency. This is what I got, Do you think some more changes needed? If you were able to fix this then can you pls share your code changes? |
Hi @soyebn, you check again if the units of "list_alphas" and "fixed_latency" in search.py are the same. I guess that you only modify "fixed_latency" to be in milliseconds. However, line 429 in search.py --> line 255 in nas/nas_utils/general_purpose.py --> line 226~236 in nas/nas_utils/general_purpose.py --> line 244 in nas/nas_utils/general_purpose.py show that "list_alphas" contains latency values in seconds.
In my code, I use the unit "milliseconds" for all latency values. |
Hi @Tiantian-Han, You indeed got very close to target latency. Is it possible for you to share your code changes with me? Looks like you have already done it carefully so it can save some time for me. |
Hi, thanks very much for your work.
I use following code to reproduce results on P100, but the result is inconsistent with the paper report.
python -u ./search.py
--train_percent=80
--bcfw_steps=10000
--initial-checkpoint=<A path to the one-shot model's weights>
--inference_time_limit 25 #ms
results:
25 ms constraints->searched model test:actual latency 62.48ms (paper report: 27ms)
acc(76.364/93.018) flops(467M) params(6.849M)
I'm very confused. Could you help me?
The text was updated successfully, but these errors were encountered: