def zero_supernet_generator()

in LaNAS/one-shot_LaNAS/supernet/generator.py [0:0]


def zero_supernet_generator(node, layer_type, is_int=False):
    vec_length = len(layer_type)
    masked_vec = np.zeros((1, vec_length))[0].tolist()
    disconnected_vec = np.zeros((1, vec_length))[0].tolist()
    supernet = [[] for v in range(node)]
    for i in range(node):
        for j in range(node + 2):
            if j < i + 2:
                supernet[i].append(masked_vec.copy())
            else:
                supernet[i].append(disconnected_vec.copy())
    if is_int:
        for i in range(len(supernet)):
            for j in range(len(supernet[i])):
                for n in range(len(supernet[i][j])):
                    supernet[i][j][n] = int(supernet[i][j][n])
    return supernet