Giter Site home page Giter Site logo

singlepathoneshot's People

Contributors

muhaoyuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

singlepathoneshot's Issues

One called function in EA search has no effect and should be removed

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,

Supernet accuracy

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?

Channel search

Thanks for your excellent work!

I seem to only see the block search, no channel search found.

Evolution search results

Hi. Sorry to bother again.

I tried to run your evolution search code, with checkpoints-150000 provided. The results look like this:

image

which is nowhere near the results shown in paper (over 68 in general).

image

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?

reproduce retrain result

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%。是哪里设置的有问题吗?不知你们如何解决的?原版代码,没有改动。

Evaluate pretrained model

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?

SuperNet Training 代码优化

您好,在supernet training中,看到关于梯度收集这块做了优化,如下:

        for p in model.parameters():
            if p.grad is not None and p.grad.sum() == 0:
                p.grad = None

请问这个原理是什么?

What is the purpose of setting flops bins when training SuperNet?

bins = [[i, i+flops_step] for i in range(flops_l, flops_r, flops_step)]

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?

how can I constraint FLOPs?

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 :)

Missing arguments in `validate`.

model.eval()
max_val_iters = 250
t1 = time.time()
with torch.no_grad():
for _ in range(1, max_val_iters + 1):
data, target = val_dataprovider.next()
target = target.type(torch.LongTensor)
data, target = data.to(device), target.to(device)
output = model(data)
loss = loss_function(output, target)

As above, there is a missing argument in model(data, arch).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.