예제 #1
0
def load_network():
    """
    Loads the network from the default file and returns it.
    """
    file = open(senna_dump)
    words, type_features = load_features(file)
    word_dict = WordDictionary(None, wordlist=words, variant='senna')
    tables = [type_features]
    
    # PADDING, allcaps, hascap, initcap, nocaps
    caps, caps_features = load_features(file)
    tables.append(caps_features)

    suff, suffix_features = load_features(file)
    tables.append(suffix_features)

    hidden_weights = load_weights(file) # (hidden_size, input_size)
    hidden_bias = load_bias(file)
    output_weights = load_weights(file) # (output_size, hidden_size)
    output_bias = load_bias(file)
        
    transition0 = load_bias(file)
    transitions = load_weights(file).T
    transitions = np.vstack((transitions, transition0))

    word_window_size = 5
    input_size = hidden_weights.shape[1]
    hidden_size = hidden_weights.shape[0]
    output_size = output_bias.shape[0]
        
    nn = Network(word_window_size, input_size, hidden_size, output_size,
                 hidden_weights, hidden_bias, output_weights, output_bias)
    nn.feature_tables = tables
    nn.transitions = transitions 
    
    return nn, word_dict, suff