D-X-Y / AutoDL-Projects

Automated deep learning algorithms implemented in PyTorch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Regarding Flop and Parameter count in NASBench201 cifar10 dataset

alpemreacar opened this issue · comments

Hi,

I have question regarding flop and param numbers in NASBench201 database.

Which Algorithm
I am looking at NASBench201 database (https://github.com/D-X-Y/AutoDL-Projects/blob/main/docs/NAS-Bench-201.md#how-to-use-nas-bench-201), cifar10 dataset. I am using recommended checkpoint (NAS-Bench-201-v1_1-096897.pth)

Describe the Question
I queried the following two architectures,

  • |skip_connect~0|+|avg_pool_3x3~0|nor_conv_3x3~1|+|nor_conv_3x3~0|none~1|avg_pool_3x3~2|
  • |skip_connect~0|+|avg_pool_3x3~0|nor_conv_3x3~1|+|nor_conv_3x3~0|avg_pool_3x3~1|none~2|

Note that the architectures differ only by two paths where the module from node 1 to node 3 is changed by the module from node 2 to node 3. We would not expect the number of parameters to be different in this case as such the swapped modules are parameter-free. Since the dimensions are the same, the flop counts should be the same as well.

However, I am getting different parameter and flop counts for the above two architectures in my queries. For instance, the number of parameters are 0.48M and 0.56M respectively. I could not understand the reason of it.

Could you help me with this? Is my understanding correct?