Skip to content

Modular model definitions: network layer, layer modules, and protobuf generation #1169

@jyegerlehner

Description

@jyegerlehner

Does anyone see any value in a new layer type that is itself a network? This would allow a recursive inclusion of networks within networks.

The inception module used in GoogLeNet is an example of a network-in-network. I provided an implementation of GoogLeNet's Inception "module" in this. With Caffe as it is, if you want to build GoogLeNet, you would have to copy all those Inception module layers 9 times thereby duplicating the same thing many times, changing the names of layers and top and bottom blobs to be unique within the net. By contrast, if we have a Network layer type, then each Inception module would appear as a single layer instance of type NETWORK (perhaps). It would refer to the network's prototxt somehow, and specify values for the the things that are distinctive about each instance of the Inception module (such as the number of output channels of each of the convolutions and the pool). And also the bottom and top blob names.

Am I on my own if I want this implemented? Anyone already working something like this? I wouldn't want to duplicate effort.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions