megvii-model / singlepathoneshot Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hi, thanks for your excellent work while I have one confusion below
In src/Search/search.py, line230, below called function has no effect in every search loop
self.get_random(self.population_num)
After the mutation and crossover, the total counts of the self.candidates
is 50. When calling the above function, the while loop will not be executed because the bool expression in line 139 is False.
Besides, line 131, variable info
pointed to self.vis_dict[cand]
is never used which should be removed too maybe😉
Regards,
I train the supernet with the default setting, and got an accuracy of
TRAIN Iter 150000: lr = 0.000003, loss = 2.805815, Top-1 err = 0.417285, Top-5 err = 0.202197, data_time = 0.050527, train_time = 0.565107
Is this accuracy right?
Thanks for your excellent work!
I seem to only see the block search, no channel search found.
Hi. Sorry to bother again.
I tried to run your evolution search code, with checkpoints-150000 provided. The results look like this:
which is nowhere near the results shown in paper (over 68 in general).
Trying to dig out why, I found that recalculating BN on 20k images brings little improvement (less than one percent) to validation performance, compared to inheriting BN directly from the supernet. I'm not sure whether there is something wrong here. Have you guys observed a similar phenomenon?
Or, my wild guess is, the supernet you have shared is not a well-trained supernet?
I fail to figure out a reasonable explanation. Could anyone help me out?
Using the architecture results from the README search((2, 1, 0, 1, 2, 0, 2, 0, 2, 0, 2, 3, 0, 0, 0, 0, 3, 2, 3, 3)
), and using the Retrain code from the repository (with no additional modifications), I ended up with [11 02:26:43] te s t iter 301250: Loss = 2.017752, top-1 ERR = 0.262860, Top-5 ERR = 0.084000, val_time = 71.723475
. This is a little different from the TOP-1 error=25.6 reported by the repo. Have you re-run the evaluation code of the repo to get similar results?
请问默认 Supernet/train.py 在 imagenet上要运行多久?我用两块V100,20个小时只跑了 8880 Ite。预计完整跑完需要两周?查看了一下,发现GPU的利用率很低,不到10%。是哪里设置的有问题吗?不知你们如何解决的?原版代码,没有改动。
1
Hi. Thanks for this great repo.
I'm interested in why you did convert to BGR tensor intentionally and keep the values between 0 - 255 instead of normalization (div 255, minus mean, div std) as usual.
Related code:
SinglePathOneShot/src/Supernet/train.py
Line 37 in 36eed6c
Thx!!!
Hello, I follow your order to get the arch of the model and load the weight in Onedrive/Evaluate, but I get the 0.368 accuracy. Did I make mistakes?
hi, i want to download the flops-dict and surpernet resource, but they are missing in the Link.
您好,在supernet training中,看到关于梯度收集这块做了优化,如下:
for p in model.parameters():
if p.grad is not None and p.grad.sum() == 0:
p.grad = None
请问这个原理是什么?
Hi. Thanks for this great repo.
This seems to have produced very unstable validation results.
SinglePathOneShot/src/Supernet/train.py
Line 213 in 36eed6c
It seems that author want the candidates' flops distribute uniformly among [290, 360].
However, I random sampled 12500 candidates and calculate their flops. The nature distribution of the ShuffleNet SuperNet is like [ 132. 828. 2366. 3941. 3482. 1406. 312.], each number indicates the random sampled candidates whose flops are among [[290, 300], [310, 320], ..., [350, 360]].
If you don't put any constrain on candidates' flops, the occurrence probability of each choice block in each layer is very close to a uniform distribution(because of numpy.random.randint) which is consistent with the paper.
However, once the flops constrain is added, the occurrence probability of choice block will not strictly follow uniform distribution.
So I am curious about the motivation?Or it is just a experimental experience?
thank you for providing the code of your paper!
i'm starting to study autoML these day and i've found your great work through this paper
and i've seen many expression 'FLOPs' in your paper and 'mobile setting(<600M FLOPs)' in others.
and i encountered this question.
Q. constraint FLOPs manually in the code is the normal(ordinary) way to experiment in 'mobile setting' (or something)?
thank you for answering in advance despite your busy schedule :)
SinglePathOneShot/src/Supernet/train.py
Lines 263 to 273 in 36eed6c
As above, there is a missing argument in model(data, arch)
.
Could you upload your $Link resources to BaiduYun?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.