mit-han-lab / gan-compression

[CVPR 2020] GAN Compression: Efficient Architectures for Interactive Conditional GANs
Other
1.1k stars 148 forks source link

two questions about once for all #43

Closed zl-hw closed 2 years ago

zl-hw commented 4 years ago

Thanks for sharing your excellent work. I hava two questions about once for all.

1.Different hardware platforms have different optimizations for op and We often choose efficient op according to differnt hardware platform, can OFA handle this situation when different hardware platform have different prefer op? 2.On mobile platforms, different camera sensor produce different data, so different training data for different hardware platform. when we usr OFA for a generative network, like srgan, which platform's training data should be used?

lmxyy commented 4 years ago

For the first question, you could use the latency on your platform instead of computation as the criterion of the sub-network searching. You could refer to our searching code and latency code for more details.

I do not quite understand your second question, could you elaborate more on that?

zl-hw commented 4 years ago

Sorry, I did not describe the problem clearly, let me re-clarify the two problems: For problem1: Different hardware platforms have different preferred ops, but the parent network structure of once for all is fixed, and the ops inside are fixed, and type selection is not supported. For example, when doing upsampling, on some platform deconv is more efficient than others, but on other platform depth2space is more efficient than others. In this case, how to search for network structures that are best to different hardware platforms? For problem2: In the camera pipeline, different hardware platforms have different input data due to different sensors. Each hardware platform has corresponding training data to train the corresponding platform model. In this case, if once for all is used, what data should be used to train once for all, and then the subnet from this supernet can be used on different hardware platforms?

MuyangLi-Dawnlight commented 4 years ago

For the first question, currently our searching space only supports different channels. You could select the best performed one one according to the latency on your specified device. If you need to expand the searching space to support different modules or ops, you could refer to ProxylessNAS.