The Best Genotype represents the optimal cell structure for each neural network layer generated by the DARTS algorithm. It is structured into normal cells, reduce cells, and their respective concatenation ranges.
normal: Cells located in the majority of the neural network layers.reduce: Cells located at the 1/3 and 2/3 marks of the total layers, representing reduction cells where operations adjacent to input nodes have a stride of two.normal_concat / reduce_concat: Define the range of intermediate nodes to be concatenated.
Node Structure:
Each element in the normal or reduce arrays represents a node with two edges. The format is (operation, connection_index).
connection_index 0 refers to the $C_{k-2}$ node.connection_index 1 refers to the $C_{k-1}$ node.
Example: [('max_pooling_3x3',0),('max_pooling_3x3',1)] means the $C_{k-2}$ node connects to the first node via max_pooling_3x3, and the $C_{k-1}$ node also connects to the first node via max_pooling_3x3.
Genotype(
normal=[
[('max_pooling_3x3',0),('max_pooling_3x3',1)],
[('max_pooling_3x3',0),('max_pooling_3x3',1)],
[('max_pooling_3x3',0),('dilated_convolution_3x3',3)],
[('max_pooling_3x3',0),('max_pooling_3x3',1)]
],
normal_concat=range(2,6),
reduce=[
[('dilated_convolution_5x5',1),('separable_convolution_3x3',0)],
[('max_pooling_3x3',2),('dilated_convolution_5x5',1)],
[('dilated_convolution_5x5',3),('dilated_convolution_5x5',2)],
[('dilated_convolution_5x5',3),('dilated_convolution_5x5',4)]
],
reduce_concat=range(2,6)
)