コード例 #1
0
ファイル: layout.py プロジェクト: AdityoSanjaya/brainstorm
def get_connections(layers):
    connections = []
    for layer_name, layer in layers.items():
        for con in layer.outgoing:
            start = get_normalized_path(con.start_layer, 'outputs',
                                        con.output_name)
            end = get_normalized_path(con.end_layer, 'inputs', con.input_name)
            connections.append((start, end))

            bwd_con = get_backward_connection(start, end, layer)

            if bwd_con:
                connections.append(bwd_con)

    # add connections to implicit 'parameters', and 'gradients'-layer
    for layer_name, layer in layers.items():
        for param_name in layer.parameter_shapes:
            start = get_normalized_path(layer_name, 'parameters', param_name)
            end = 'parameters'
            connections.append((start, end))

            start = get_normalized_path(layer_name, 'gradients', param_name)
            end = 'gradients'
            connections.append((start, end))

    return sorted(connections)
コード例 #2
0
def get_connections(layers):
    connections = []
    for layer_name, layer in layers.items():
        for con in layer.outgoing:
            start = get_normalized_path(con.start_layer, 'outputs',
                                        con.output_name)
            end = get_normalized_path(con.end_layer, 'inputs', con.input_name)
            connections.append((start, end))

            bwd_con = get_backward_connection(start, end, layer)

            if bwd_con:
                connections.append(bwd_con)

    # add connections to implicit 'parameters', and 'gradients'-layer
    for layer_name, layer in layers.items():
        for param_name in layer.parameter_shapes:
            start = get_normalized_path(layer_name, 'parameters', param_name)
            end = 'parameters'
            connections.append((start, end))

            start = get_normalized_path(layer_name, 'gradients', param_name)
            end = 'gradients'
            connections.append((start, end))

    return sorted(connections)
コード例 #3
0
ファイル: architecture.py プロジェクト: zghzdxs/brainstorm
def instantiate_layers_from_architecture(architecture):
    validate_architecture(architecture)
    layers = OrderedDict()
    connections = collect_all_connections(architecture)
    for layer_name in get_canonical_layer_order(architecture):
        layer = architecture[layer_name]
        LayerClass = get_layer_class_from_typename(layer['@type'] +
                                                   'LayerImpl')
        incoming = {c for c in connections if c.end_layer == layer_name}
        outgoing = {c for c in connections if c.start_layer == layer_name}

        input_names = {c.input_name for c in incoming}
        in_shapes = {}
        for input_name in input_names:
            incoming_out_shapes = [
                layers[c.start_layer].get_shape(
                    get_normalized_path('outputs', c.output_name))
                for c in incoming if c.input_name == input_name]

            in_shapes[input_name] = combine_buffer_structures(
                incoming_out_shapes)

        layers[layer_name] = LayerClass(layer_name, in_shapes, incoming,
                                        outgoing, **get_kwargs(layer))
    return layers
コード例 #4
0
ファイル: layout.py プロジェクト: AdityoSanjaya/brainstorm
def get_gradient_order(layer_name, layer):
    return tuple([get_normalized_path(layer_name, 'gradients', o)
                  for o in layer.parameter_shapes])
コード例 #5
0
def get_gradient_order(layer_name, layer):
    return tuple([
        get_normalized_path(layer_name, 'gradients', o)
        for o in layer.parameter_shapes
    ])
コード例 #6
0
ファイル: layout.py プロジェクト: robertbarron/brainstorm
def get_parameter_order(layer_name, layer):
    return tuple([get_normalized_path(layer_name, "parameters", o) for o in layer.parameter_shapes])