Closed Debrove closed 4 years ago
I use (N-1) as one layer has the stride=2. There are N+1+(N-1)+1+(N-1) cells.
So is it different from the paper where the stride=1 in normal cell and stride=2 in reduction cell? And in the paper, there are N+1+N+1+N cells.
Also, in the code lib/models/cell_searchs/search_cells.py#L159, there are stride=1 in normal cell and and stride=2 in reduction cell.
Do I misunderstand? Please point out. Thank you very much.
It is the same in the paper. In the paper, I mention N cells in each stage following other papers's habit. In other papers, when they say N cells in a stage, the first cell may have be stride=2 or stride=1. Please the original DARTS implementation https://github.com/quark0/darts/blob/master/cnn/model_search.py.
Take CIFAR 10 as an example. In this for loop, if layers=8(default in papers), the architecture should be [normal,normal,reduce,normal,normal,reduce,normal,normal]
while implemented as
There are N+1+(N-1)+1+(N-1) cells.
it should be [normal,normal,reduce,normal,reduce,normal]
. I think it is different.
I use (N-1) as one layer has the stride=2.
I don't understand why (N-1) related to stride=2. As https://github.com/quark0/darts/blob/master/cnn/model_search.py#L43 shown, stride=2 is only in the reduction cell. But (N-1) is the number of stacked normal cells.
I see, you are right. For layers=8, it is slightly different. layers=9 will result in the same model as (N=3) in this paper. Besides, in my implementation, the number of cells must be 3N, where the (N+1)-th and (2N+1)-th cells are reduction, which is indeed slightly different from darts's original implementation.
OK! I get it! Thank you very much!
@Debrove You are always welcome. and thanks for pointing out the issues in this repo
Hi, Dong
In the search_model_darts_nasnet.py#L26, I am confused about the (N-1), because I think it should be N and the total number of layers is 8 instead of 6.(N=2).
So does in GDAS
Thank you.