Giter Club home page Giter Club logo

Comments (2)

HobbitLong avatar HobbitLong commented on July 18, 2024

Can you please first follow all default setting on a single GPU to check the performance?

I did not run on 8 GPUs. So the default learning rate 0.05 is perhaps mostly suitable for batch size of 64. Maybe you need to scale the learning rate linearly according to the batch size, see this paper

Even you scale up the learning rate, the default setting might still be slightly better. I have compared two settings: (1) batch size of 64, learning rate 0.05; (2) batch size of 128, learning rate 0.1. In general, training from scatch with (1) gives better vanilla models, so I stick to (1). That's also why If you compare my vanilla models with other papers, you could see our baseline is stronger.

from repdistiller.

HobbitLong avatar HobbitLong commented on July 18, 2024

@xuguodong03

I also found something I did not describe in the repo. It has been described in the paper, though.

When training the following 3 models with batch size of 64, you need a learning rate 0f 0.01 to achieve better accuracy (better than 0.05): 'MobileNetV2', 'ShuffleV1', 'ShuffleV2'. I just added two lines here to hard-code it. Please pull it again and sorry for missing it :(

I guess part of the reason of underperformance when student and teacher are of different architectures, is that you used different learning rates. For example, when using above 3 models as student and distilling from teacher model, the learning rate is correctly set as 0.01 (which was hard-coded), but it is incorrect (0.05) for the vanilla model (as I forgot to hard-code it, now fixed). And if you divide the learning rate by # of gpus, e.g., 8, things get reversed. The second wrong one actually becomes better (0.008), and the first one (originally better on single GPU) becomes worse (0.00125).

from repdistiller.

Related Issues (20)

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.