Exemplo n.º 1
0
def mknet_gpu(*outlayers):
    return df.Sequential(  #     3@46
        df.SpatialConvolutionCUDNN(3, 24, 3, 3),  # -> 24@44
        df.BatchNormalization(24),
        df.ReLU(),
        df.SpatialConvolutionCUDNN(24, 24, 3, 3),  # -> 24@42
        df.BatchNormalization(24),
        df.SpatialMaxPoolingCUDNN(2, 2),  # -> 24@21
        df.ReLU(),
        df.SpatialConvolutionCUDNN(24, 48, 3, 3),  # -> 48@19
        df.BatchNormalization(48),
        df.ReLU(),
        df.SpatialConvolutionCUDNN(48, 48, 3, 3),  # -> 48@17
        df.BatchNormalization(48),
        df.SpatialMaxPooling(2, 2),  # -> 48@9
        df.ReLU(),
        df.SpatialConvolutionCUDNN(48, 64, 3, 3),  # -> 48@7
        df.BatchNormalization(64),
        df.ReLU(),
        df.SpatialConvolutionCUDNN(64, 64, 3, 3),  # -> 48@5
        df.BatchNormalization(64),
        df.ReLU(),
        df.Dropout(0.2),
        Flatten(),
        df.Linear(64 * 5 * 5, 512),
        df.ReLU(),
        df.Dropout(0.5),
        *outlayers)
Exemplo n.º 2
0
def lenet():
    model = df.Sequential()
    model.add(df.Reshape(-1, 1, 28, 28))
    model.add(df.SpatialConvolutionCUDNN(1, 32, 5, 5, 1, 1, 2, 2, with_bias=False))
    model.add(df.BatchNormalization(32))
    model.add(df.ReLU())
    model.add(df.SpatialMaxPoolingCUDNN(2, 2))

    model.add(df.SpatialConvolutionCUDNN(32, 64, 5, 5, 1, 1, 2, 2, with_bias=False))
    model.add(df.BatchNormalization(64))
    model.add(df.ReLU())
    model.add(df.SpatialMaxPoolingCUDNN(2, 2))
    model.add(df.Reshape(-1, 7*7*64))

    model.add(df.Linear(7*7*64, 100, with_bias=False))
    model.add(df.BatchNormalization(100))
    model.add(df.ReLU())
    model.add(df.Dropout(0.5))

    model.add(df.Linear(100, 10))
    model.add(df.SoftMax())
    return model
Exemplo n.º 3
0
def model_head(fully_conv=True):
    if fully_conv:
        return [
            df.SpatialConvolutionCUDNN(512, 4096, 7, 7, border='valid'),
            df.ReLU(),
            df.Dropout(0.5),
            df.SpatialConvolutionCUDNN(4096, 4096, 1, 1, border='valid'),
            df.ReLU(),
            df.Dropout(0.5),
            df.SpatialConvolutionCUDNN(4096, 1000, 1, 1, border='valid'),
            df.SpatialSoftMaxCUDNN(),
        ]
    else:
        return [
            df.Reshape(-1, 512 * 7 * 7),
            df.Linear(512 * 7 * 7, 4096),
            df.ReLU(),
            df.Dropout(0.5),
            df.Linear(4096, 4096),
            df.ReLU(),
            df.Dropout(0.5),
            df.Linear(4096, 1000),
            df.SoftMax()
        ]
Exemplo n.º 4
0
def model(fully_conv=True):
    conv3 = lambda nin, nout: df.SpatialConvolutionCUDNN(
        nin, nout, 3, 3, border='same')

    return df.Sequential(conv3(3, 64), df.ReLU(), conv3(64, 64), df.ReLU(),
                         df.SpatialMaxPoolingCUDNN(2, 2), conv3(64, 128),
                         df.ReLU(), conv3(128, 128), df.ReLU(),
                         df.SpatialMaxPoolingCUDNN(2, 2), conv3(128, 256),
                         df.ReLU(), conv3(256,
                                          256), df.ReLU(), conv3(256, 256),
                         df.ReLU(), df.SpatialMaxPoolingCUDNN(2, 2),
                         conv3(256, 512), df.ReLU(), conv3(512,
                                                           512), df.ReLU(),
                         conv3(512, 512), df.ReLU(),
                         df.SpatialMaxPoolingCUDNN(2, 2), conv3(512, 512),
                         df.ReLU(), conv3(512, 512), df.ReLU(),
                         conv3(512, 512), df.ReLU(),
                         df.SpatialMaxPoolingCUDNN(2, 2),
                         *_vgg.model_head(fully_conv))