Example #1
0
    def __init__(self):

        CNN.__init__(
            self,
            layers=[
                ('input', layers.InputLayer),
                ('conv1', layers.Conv2DLayer),
                ('pool1', layers.MaxPool2DLayer),
                ('dropout1', layers.DropoutLayer),
                ('conv2', layers.Conv2DLayer),
                ('pool2', layers.MaxPool2DLayer),
                ('dropout2', layers.DropoutLayer),
                ('conv3', layers.Conv2DLayer),
                ('pool3', layers.MaxPool2DLayer),
                ('dropout3', layers.DropoutLayer),
                ('conv4', layers.Conv2DLayer),
                ('pool4', layers.MaxPool2DLayer),
                ('dropout4', layers.DropoutLayer),
                ('hidden5', layers.DenseLayer),
                ('dropout5', layers.DropoutLayer),
                ('output', layers.DenseLayer),
            ],

            # input
            input_shape=(None, 3, 75, 75),

            # conv2d + pool + dropout
            conv1_filter_size=(3, 3),
            conv1_num_filters=64,
            pool1_pool_size=(2, 2),
            dropout1_p=0.2,

            # conv2d + pool + dropout
            conv2_filter_size=(3, 3),
            conv2_num_filters=48,
            pool2_pool_size=(2, 2),
            dropout2_p=0.2,

            # conv2d + pool + dropout
            conv3_filter_size=(3, 3),
            conv3_num_filters=48,
            pool3_pool_size=(2, 2),
            dropout3_p=0.2,

            # conv2d + pool + dropout
            conv4_filter_size=(3, 3),
            conv4_num_filters=48,
            pool4_pool_size=(2, 2),
            dropout4_p=0.2,

            # dense layer 1
            hidden5_num_units=512,
            hidden5_nonlinearity=nonlinearities.rectify,
            dropout5_p=0.5,

            # dense layer 2
            output_num_units=2,
            output_nonlinearity=nonlinearities.softmax)
Example #2
0
 def __init__(self, num_label):
     self.layers = [
         ['conv', 512, 64, 1, 0],
         ['norm'],
         ['relu'],
     ]
     self._make_layers(BlockType.BASIC, 64, 64, 2)
     self._make_layers(BlockType.BASIC, 64, 128, 2)
     self._make_layers(BlockType.BASIC, 128, 256, 2)
     self._make_layers(BlockType.BASIC, 256, 512, 2)
     self.layers.extend([['avgPool', 4, 1], ['flatten'],
                         ['fc', 512, num_label]])
     CNN.__init__(self)
Example #3
0
 def __init__(self, num_label):
     self.layers = [
         ['conv', 3, 64, 3, 1],
     ]
     out_dim = self.add_res_layers()
     self.layers.extend([
         #['norm'], ['relu'],
         ['avgPool', 4, 1],
         #['conv', 512, 256, 1, 0], ['norm'], ['relu'],
         #['dropout', 0.5],
         #['conv', 256, 256, 1, 0], ['norm'], ['relu'],
         #['dropout', 0.5],
         ['flatten'],
         ['fc', out_dim, num_label]
     ])
     CNN.__init__(self)
Example #4
0
 def __init__(self, dataset: AbstractDataset):
     H, W, C = dataset.num_dims()
     out_dim = H // 8
     self.layers = [['conv', C, 64, 3, 1], ['norm'], ['relu'],
                    ['conv', 64, 64, 3, 1], ['norm'], ['relu'],
                    ['maxPool', 2, 2], ['conv', 64, 128, 3, 1], ['norm'],
                    ['relu'], ['conv', 128, 128, 3, 1], ['norm'], ['relu'],
                    ['conv', 128, 128, 3, 1], ['norm'], ['relu'],
                    ['maxPool', 2, 2], ['conv', 128, 256, 3, 1], ['norm'],
                    ['relu'], ['conv', 256, 256, 3, 1], ['norm'], ['relu'],
                    ['conv', 256, 256, 3, 1], ['norm'], ['relu'],
                    ['maxPool', 2, 2], ['conv', 256, 512, 3, 1], ['norm'],
                    ['relu'], ['conv', 512, 512, 3, 1], ['norm'], ['relu'],
                    ['conv', 512, 512, 3, 1], ['norm'], ['relu'],
                    ['avgPool', out_dim, 1], ['flatten'],
                    ['fc', 512, dataset.num_labels()]]
     CNN.__init__(self)
Example #5
0
 def __init__(self, num_label):
     self.layers = [['conv', 3, 64, 3, 1], ['norm'], ['relu'],
                    ['conv', 64, 64, 3, 1], ['norm'], ['relu'],
                    ['nonlocal', 64], ['maxPool', 2, 2],
                    ['conv', 64, 128, 3, 1], ['norm'], ['relu'],
                    ['conv', 128, 128, 3, 1], ['norm'], ['relu'],
                    ['conv', 128, 128, 3, 1], ['norm'], ['relu'],
                    ['maxPool', 2, 2], ['conv', 128, 256, 3, 1], ['norm'],
                    ['relu'], ['conv', 256, 256, 3, 1], ['norm'], ['relu'],
                    ['conv', 256, 256, 3, 1], ['norm'], ['relu'],
                    ['maxPool', 2, 2], ['conv', 256, 512, 3, 1], ['norm'],
                    ['relu'], ['conv', 512, 512, 3, 1], ['norm'], ['relu'],
                    ['conv', 512, 512, 3, 1], ['norm'], ['relu'],
                    ['avgPool', 4, 1], ['conv', 512, 256, 1, 0], ['norm'],
                    ['relu'], ['dropout', 0.5], ['conv', 256, 256, 1, 0],
                    ['norm'], ['relu'], ['dropout', 0.5], ['flatten'],
                    ['fc', 256, num_label]]
     CNN.__init__(self)
Example #6
0
    def __init__(self):

        CNN.__init__(
            self,
            layers=[
                ('input', layers.InputLayer),
                ('conv1', layers.Conv2DLayer),
                ('pool1', layers.MaxPool2DLayer),
                ('conv2', layers.Conv2DLayer),
                ('pool2', layers.MaxPool2DLayer),
                ('conv3', layers.Conv2DLayer),
                ('pool3', layers.MaxPool2DLayer),
                ('hidden3', layers.DenseLayer),
                ('dropout3', layers.DropoutLayer),
                ('output', layers.DenseLayer),
            ],

            # input
            input_shape=(None, 4, 75, 75),

            # conv2d + pool + dropout
            conv1_filter_size=(13, 13),
            conv1_num_filters=16,
            pool1_pool_size=(2, 2),

            # conv2d + pool + dropout
            conv2_filter_size=(13, 13),
            conv2_num_filters=16,
            pool2_pool_size=(2, 2),

            # conv2d + pool + dropout
            conv3_filter_size=(13, 13),
            conv3_num_filters=16,
            pool3_pool_size=(2, 2),

            # dense layer 1
            hidden3_num_units=256,
            hidden3_nonlinearity=nonlinearities.rectify,
            dropout3_p=0.5,

            # dense layer 2
            output_num_units=2,
            output_nonlinearity=nonlinearities.softmax)
Example #7
0
    def __init__(self):

        CNN.__init__(
            self,
            layers=[
                ('image_input', layers.InputLayer),
                ('image_conv1', layers.Conv2DLayer),
                ('image_pool1', layers.MaxPool2DLayer),
                ('image_conv2', layers.Conv2DLayer),
                ('image_pool2', layers.MaxPool2DLayer),
                ('prob_input', layers.InputLayer),
                ('prob_conv1', layers.Conv2DLayer),
                ('prob_pool1', layers.MaxPool2DLayer),
                ('prob_conv2', layers.Conv2DLayer),
                ('prob_pool2', layers.MaxPool2DLayer),
                ('binary_input', layers.InputLayer),
                ('binary_conv1', layers.Conv2DLayer),
                ('binary_pool1', layers.MaxPool2DLayer),
                ('binary_conv2', layers.Conv2DLayer),
                ('binary_pool2', layers.MaxPool2DLayer),
                ('merge', layers.ConcatLayer),
                ('hidden3', layers.DenseLayer),
                ('output', layers.DenseLayer),
            ],

            # input
            image_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            image_conv1_filter_size=(13, 13),
            image_conv1_num_filters=16,
            image_conv1_nonlinearity=nonlinearities.rectify,
            image_pool1_pool_size=(2, 2),
            # conv2d + pool + dropout
            image_conv2_filter_size=(13, 13),
            image_conv2_num_filters=16,
            image_conv2_nonlinearity=nonlinearities.rectify,
            image_pool2_pool_size=(2, 2),
            prob_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            prob_conv1_filter_size=(13, 13),
            prob_conv1_num_filters=16,
            prob_conv1_nonlinearity=nonlinearities.rectify,
            prob_pool1_pool_size=(2, 2),
            # conv2d + pool + dropout
            prob_conv2_filter_size=(13, 13),
            prob_conv2_num_filters=16,
            prob_conv2_nonlinearity=nonlinearities.rectify,
            prob_pool2_pool_size=(2, 2),
            binary_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            binary_conv1_filter_size=(13, 13),
            binary_conv1_num_filters=16,
            binary_conv1_nonlinearity=nonlinearities.rectify,
            binary_pool1_pool_size=(2, 2),
            # conv2d + pool + dropout
            binary_conv2_filter_size=(13, 13),
            binary_conv2_num_filters=16,
            binary_conv2_nonlinearity=nonlinearities.rectify,
            binary_pool2_pool_size=(2, 2),

            # concat
            merge_incomings=['image_pool2', 'prob_pool2', 'binary_pool2'],

            # dense layer 1
            hidden3_num_units=256,
            hidden3_nonlinearity=nonlinearities.rectify,

            # dense layer 2
            output_num_units=2,
            output_nonlinearity=nonlinearities.softmax)
Example #8
0
    def __init__(self):

        CNN.__init__(
            self,
            layers=[
                ('image_input', layers.InputLayer),
                ('image_conv1', layers.Conv2DLayer),
                ('image_pool1', layers.MaxPool2DLayer),
                ('image_dropout1', layers.DropoutLayer),
                ('image_conv2', layers.Conv2DLayer),
                ('image_pool2', layers.MaxPool2DLayer),
                ('image_dropout2', layers.DropoutLayer),
                ('prob_input', layers.InputLayer),
                ('prob_conv1', layers.Conv2DLayer),
                ('prob_pool1', layers.MaxPool2DLayer),
                ('prob_dropout1', layers.DropoutLayer),
                ('prob_conv2', layers.Conv2DLayer),
                ('prob_pool2', layers.MaxPool2DLayer),
                ('prob_dropout2', layers.DropoutLayer),
                ('binary_input', layers.InputLayer),
                ('binary_conv1', layers.Conv2DLayer),
                ('binary_pool1', layers.MaxPool2DLayer),
                ('binary_dropout1', layers.DropoutLayer),
                ('binary_conv2', layers.Conv2DLayer),
                ('binary_pool2', layers.MaxPool2DLayer),
                ('binary_dropout2', layers.DropoutLayer),
                ('border_input', layers.InputLayer),
                ('border_conv1', layers.Conv2DLayer),
                ('border_pool1', layers.MaxPool2DLayer),
                ('border_dropout1', layers.DropoutLayer),
                ('border_conv2', layers.Conv2DLayer),
                ('border_pool2', layers.MaxPool2DLayer),
                ('border_dropout2', layers.DropoutLayer),
                ('merge', layers.ConcatLayer),
                ('hidden3', layers.DenseLayer),
                ('dropout3', layers.DropoutLayer),
                ('output', layers.DenseLayer),
            ],

            # input
            image_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            image_conv1_filter_size=(3, 3),
            image_conv1_num_filters=64,
            image_pool1_pool_size=(2, 2),
            image_dropout1_p=0.2,
            # conv2d + pool + dropout
            image_conv2_filter_size=(3, 3),
            image_conv2_num_filters=64,
            image_pool2_pool_size=(2, 2),
            image_dropout2_p=0.2,
            prob_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            prob_conv1_filter_size=(3, 3),
            prob_conv1_num_filters=64,
            prob_pool1_pool_size=(2, 2),
            prob_dropout1_p=0.2,
            # conv2d + pool + dropout
            prob_conv2_filter_size=(3, 3),
            prob_conv2_num_filters=64,
            prob_pool2_pool_size=(2, 2),
            prob_dropout2_p=0.2,
            binary_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            binary_conv1_filter_size=(3, 3),
            binary_conv1_num_filters=64,
            binary_pool1_pool_size=(2, 2),
            binary_dropout1_p=0.2,
            # conv2d + pool + dropout
            binary_conv2_filter_size=(3, 3),
            binary_conv2_num_filters=64,
            binary_pool2_pool_size=(2, 2),
            binary_dropout2_p=0.2,
            border_input_shape=(None, 1, 75, 75),
            # conv2d + pool + dropout
            border_conv1_filter_size=(3, 3),
            border_conv1_num_filters=64,
            border_pool1_pool_size=(2, 2),
            border_dropout1_p=0.2,
            # conv2d + pool + dropout
            border_conv2_filter_size=(3, 3),
            border_conv2_num_filters=64,
            border_pool2_pool_size=(2, 2),
            border_dropout2_p=0.2,

            # concat
            # merge_incomings=['image_pool2','prob_pool2','binary_pool2','border_pool2'],
            merge_incomings=[
                'image_dropout2', 'prob_dropout2', 'binary_dropout2',
                'border_dropout2'
            ],

            # dense layer 1
            hidden3_num_units=512,
            hidden3_nonlinearity=nonlinearities.rectify,
            dropout3_p=0.5,

            # dense layer 2
            output_num_units=2,
            output_nonlinearity=nonlinearities.softmax)
Example #9
0
 def __init__(self, size=64, gray=False, gen_depth=16, dis_depth=2):
     CNN.__init__(self, size=size, gray=gray, gen_depth=gen_depth)
     self.dis_depth = dis_depth
     self.D = None
     self.combined = None