def get_node_depth()

in LaNAS/LaNet/CIFAR10/nasnet_set.py [0:0]


def get_node_depth(cur_node, node_code):
    ## get the depth for current node
    assert cur_node[-1] != -1
    assert cur_node[-2] != -1
    depth_left = 1
    depth_right = 1
    if cur_node[-1] == 0 or cur_node[-1] == 1:
        if cur_node[-2] == 0 or cur_node[-2] == 1:
            return 1
    if not (cur_node[-2] == 0 or cur_node[-2] == 1):
        depth_left += get_node_depth(cur_node=node_code[cur_node[-2] - 2], node_code=node_code)
    if not (cur_node[-1] == 0 or cur_node[-1] == 1):
        depth_right += get_node_depth(cur_node=node_code[cur_node[-1] - 2], node_code=node_code)
    return max(depth_left, depth_right)