def create_model(learning_rate=0.1, momentum=0.9):
model = Sequential()
model.add(Convolution2D(20, 9, 9, border_mode='same', input_shape=(3, SIZE, SIZE)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2), strides=(2,2)))
model.add(Convolution2D(50, 5, 5, activation = "relu"))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2), strides=(2,2)))
model.add(Flatten())
model.add(Dense(768, input_dim=3072, init='uniform', activation = 'relu'))
model.add(Dropout(0.1))
model.add(Dense(384, init = 'uniform', activation = 'relu', W_constraint=maxnorm(3)))
model.add(Dense(4))
model.add(Activation("softmax"))
sgd = SGD(lr=learning_rate, momentum=momentum, nesterov=True, decay=1e-6)
model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=["accuracy"])
return model
python类MaxPooling2D()的实例源码
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def create_model(img_rows, img_cols):
model = Sequential() #initialize model
model.add(Convolution2D(4, 3, 3, border_mode='same', activation='relu', init='he_normal',
input_shape=(1, img_rows, img_cols)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Convolution2D(8, 3, 3, border_mode='same', activation='relu', init='he_normal'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(2))
model.add(Activation('softmax'))
adm = Adamax()
#sgd = SGD(lr=1e-3, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(optimizer=adm, loss='categorical_crossentropy')
return model
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def build(input_shape, classes):
model = Sequential()
# CONV => RELU => POOL
model.add(Conv2D(20, kernel_size=5, padding="same",
input_shape=input_shape))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
# CONV => RELU => POOL
model.add(Conv2D(50, kernel_size=5, padding="same"))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
# Flatten => RELU layers
model.add(Flatten())
model.add(Dense(500))
model.add(Activation("relu"))
# a softmax classifier
model.add(Dense(classes))
model.add(Activation("softmax"))
return model
# network and training
def VGG_16(weights_path=None):
model = Sequential()
model.add(ZeroPadding2D((1,1),input_shape=(3,224,224)))
print "convolution"
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(ZeroPadding2D((1,1)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D((2,2), strides=(2,2)))
model.add(Flatten())
print"FLATTEN"
model.add(Dense(400, activation='relu'))
model.add(Dropout(0.5))
print"YO"
model.add(Dense(10, activation='softmax'))
return model
def reduction_A(input, k=192, l=224, m=256, n=384):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
r1 = MaxPooling2D((3,3), strides=(2,2))(input)
r2 = Convolution2D(n, 3, 3, activation='relu', subsample=(2,2))(input)
r3 = Convolution2D(k, 1, 1, activation='relu', border_mode='same')(input)
r3 = Convolution2D(l, 3, 3, activation='relu', border_mode='same')(r3)
r3 = Convolution2D(m, 3, 3, activation='relu', subsample=(2,2))(r3)
m = merge([r1, r2, r3], mode='concat', concat_axis=channel_axis)
m = BatchNormalization(axis=1)(m)
m = Activation('relu')(m)
return m
def reduction_resnet_v2_B(input):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
r1 = MaxPooling2D((3,3), strides=(2,2), border_mode='valid')(input)
r2 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r2 = Convolution2D(384, 3, 3, activation='relu', subsample=(2,2))(r2)
r3 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r3 = Convolution2D(288, 3, 3, activation='relu', subsample=(2, 2))(r3)
r4 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r4 = Convolution2D(288, 3, 3, activation='relu', border_mode='same')(r4)
r4 = Convolution2D(320, 3, 3, activation='relu', subsample=(2, 2))(r4)
m = merge([r1, r2, r3, r4], concat_axis=channel_axis, mode='concat')
m = BatchNormalization(axis=channel_axis)(m)
m = Activation('relu')(m)
return m
def reduction_A(input):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
r1 = conv_block(input, 384, 3, 3, subsample=(2, 2), border_mode='valid')
r2 = conv_block(input, 192, 1, 1)
r2 = conv_block(r2, 224, 3, 3)
r2 = conv_block(r2, 256, 3, 3, subsample=(2, 2), border_mode='valid')
r3 = MaxPooling2D((3, 3), strides=(2, 2), border_mode='valid')(input)
m = merge([r1, r2, r3], mode='concat', concat_axis=channel_axis)
return m
def inception_resnet_stem(input):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
# Input Shape is 299 x 299 x 3 (tf) or 3 x 299 x 299 (th)
c = Convolution2D(32, 3, 3, activation='relu', subsample=(2, 2))(input)
c = Convolution2D(32, 3, 3, activation='relu', )(c)
c = Convolution2D(64, 3, 3, activation='relu', )(c)
c = MaxPooling2D((3, 3), strides=(2, 2))(c)
c = Convolution2D(80, 1, 1, activation='relu', border_mode='same')(c)
c = Convolution2D(192, 3, 3, activation='relu')(c)
c = Convolution2D(256, 3, 3, activation='relu', subsample=(2,2), border_mode='same')(c)
b = BatchNormalization(axis=channel_axis)(c)
b = Activation('relu')(b)
return b
def reduction_A(input, k=192, l=224, m=256, n=384):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
r1 = MaxPooling2D((3,3), strides=(2,2))(input)
r2 = Convolution2D(n, 3, 3, activation='relu', subsample=(2,2))(input)
r3 = Convolution2D(k, 1, 1, activation='relu', border_mode='same')(input)
r3 = Convolution2D(l, 3, 3, activation='relu', border_mode='same')(r3)
r3 = Convolution2D(m, 3, 3, activation='relu', subsample=(2,2))(r3)
m = merge([r1, r2, r3], mode='concat', concat_axis=channel_axis)
m = BatchNormalization(axis=channel_axis)(m)
m = Activation('relu')(m)
return m
def reduction_resnet_B(input):
if K.image_dim_ordering() == "th":
channel_axis = 1
else:
channel_axis = -1
r1 = MaxPooling2D((3,3), strides=(2,2), border_mode='valid')(input)
r2 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r2 = Convolution2D(384, 3, 3, activation='relu', subsample=(2,2))(r2)
r3 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r3 = Convolution2D(256, 3, 3, activation='relu', subsample=(2, 2))(r3)
r4 = Convolution2D(256, 1, 1, activation='relu', border_mode='same')(input)
r4 = Convolution2D(256, 3, 3, activation='relu', border_mode='same')(r4)
r4 = Convolution2D(256, 3, 3, activation='relu', subsample=(2, 2))(r4)
m = merge([r1, r2, r3, r4], concat_axis=channel_axis, mode='concat')
m = BatchNormalization(axis=channel_axis)(m)
m = Activation('relu')(m)
return m
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
# model.add(Activation('sigmoid')) # LSGANs
return model
def generator_model_r1(): # CDNN Model
model = Sequential()
model.add(Convolution2D(
1, 5, 5,
border_mode='same',
input_shape=(1, 14, 14)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(64, 5, 5, border_mode='same'))
model.add(Activation('tanh'))
model.add(UpSampling2D(size=(2, 2)))
model.add(Convolution2D(64, 5, 5, border_mode='same'))
model.add(Activation('tanh'))
model.add(UpSampling2D(size=(2, 2)))
model.add(Convolution2D(1, 5, 5, border_mode='same'))
model.add(Activation('tanh'))
return model
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def discriminator_model():
model = Sequential()
model.add(Convolution2D(
64, 5, 5,
border_mode='same',
input_shape=(1, 28, 28)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(128, 5, 5))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def discriminator_model(self):
model = Sequential()
model.add(Convolution2D(
8, 10, 10,
border_mode='same',
input_shape=(1, 144, 144)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Convolution2D(16, 10, 10))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Flatten())
model.add(Dense(128))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model
def discriminator_model(self):
model = Sequential()
model.add(Convolution2D(
8, 10, 10,
border_mode='same',
input_shape=(1, 144, 144)))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Convolution2D(16, 10, 10))
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(4, 4)))
model.add(Flatten())
model.add(Dense(128))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
return model