Beispiel #1
0
def createNewModel(patchSize):
	seed=5
	np.random.seed(seed)
	input=Input(shape=(1,patchSize[0, 0], patchSize[0, 1]))
	out1=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(input)
	out2=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out1)

	sout3=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
	out3=Conv2D(filters=64,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
	out4=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out3)
	out4=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
	out4=add([sout3,out4])
	out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

	sout5=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
	out5=Conv2D(filters=64,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
	out6=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
	out6=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6)
	out6=add([sout5,out6])
	out6=pool2(pool_size=(2,2),data_format='channels_first')(out6)

	out10=Flatten()(out6)


	out11=Dense(units=11,
	           kernel_initializer='normal',
               kernel_regularizer='l2',
	           activation='softmax')(out10)

	cnn = Model(inputs=input,outputs=out11)
	return cnn
Beispiel #2
0
def createNewModel(patchSize):
	seed=5
	np.random.seed(seed)
	input=Input(shape=(1,patchSize[0, 0], patchSize[0, 1]))
	out=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(input)
	out1=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out)
	#out1=pool2(pool_size=(3,3),strides=(2,2),data_format='channels_first')(out)

	sout1=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out1)
	out=Block(out1,128,with_shortcut=True)
	out=Block(out,128,with_shortcut=False)
	out=add([sout1,out])
	out=concatenate(inputs=[out1,out],axis=1)
	out2=pool2(pool_size=(3,3),strides=(2,2),data_format='channels_first')(out)

	sout2=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
	out=Block(out2,256,with_shortcut=True)
	out=Block(out,256,with_shortcut=False)
	out=add([sout2,out])
	out1=pool2(pool_size=(3,3),strides=(2,2),data_format="channels_first")(out1)
	out=concatenate(inputs=[out1,out2,out],axis=1)
	out3=pool2(pool_size=(3,3),strides=(2,2),data_format='channels_first')(out)

	#out5=GlobalAveragePooling2D(data_format='channels_first')(out3)

	out5=Flatten()(out3)

	out6=Dense(units=11,
	           kernel_initializer='normal',
               kernel_regularizer='l2',
	           activation='softmax')(out5)

	cnn = Model(inputs=input,outputs=out6)
	return cnn
Beispiel #3
0
def createNewModel(patchSize):
	seed=5
	np.random.seed(seed)
	input=Input(shape=(1,patchSize[0, 0], patchSize[0, 1]))
	out1=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(input)
	out2=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out1)
	out2=pool2(pool_size=(2,2),data_format='channels_first')(out2)

	out3=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
	out4=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out3)
	out4=add([out2,out4])
	out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

	out5_1=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)

	out5_2=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
	out5_2=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_2)

	out5_3=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
	out5_3=Conv2D(filters=128,kernel_size=(5,5),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_3)

	out5_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out4)
	out5_4=Conv2D(filters=128,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_4)

	out5=concatenate(inputs=[out5_1,out5_2,out5_3],axis=1)

#	out6_1=Conv2D(filters=32,kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
#
#	out6_2=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
#	out6_2=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_2)
#
#	out6_3=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
#	out6_3=Conv2D(filters=128,kernel_size=(5,5),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_3)
#
#	out6_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out5)
#	out6_4=Conv2D(filters=128,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_4)
#
#	out6=concatenate(inputs=[out6_1,out6_2,out6_3,out6_4],axis=1)

	out7=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
	            activation='relu')(out5)

	out8=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
	            activation='relu')(out7)
	out8=add([out5, out8])
	out8=pool2(pool_size=(2,2),data_format='channels_first')(out8)

	out9=Flatten()(out8)


	out10=Dense(units=11,
	           kernel_initializer='normal',
               kernel_regularizer='l2',
	           activation='softmax')(out9)

	cnn = Model(inputs=input,outputs=out10)
	return cnn
Beispiel #4
0
def create180180Model(patchSize, iVersion=1):
    seed = 5
    np.random.seed(seed)
    input = Input(shape=(1, patchSize[0, 0], patchSize[0, 1]))

    # DenseResNet 180180 (selected)
    if (iVersion == 1):
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(2, 2),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(input)
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(1, 1),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(out)
        out1 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out1, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out = concatenate(inputs=[out1, out], axis=1)
        out2 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out2, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out1 = pool2(pool_size=(2, 2), data_format="channels_first")(out1)
        out = concatenate(inputs=[out1, out2, out], axis=1)
        out3 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out3, 256, with_shortcut=True)
        out = Block(out, 256, with_shortcut=False)
        out2 = pool2(pool_size=(2, 2), data_format="channels_first")(out2)
        out = concatenate(inputs=[out2, out3, out], axis=1)
        out4 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        #out5=GlobalAveragePooling2D(data_format='channels_first')(out4)

        out5 = Flatten()(out4)

        out6 = Dense(units=11,
                     kernel_initializer='normal',
                     kernel_regularizer='l2',
                     activation='softmax')(out5)

        cnn = Model(inputs=input, outputs=out6)

    # temp/resdensenet2 for 180180
    elif iVersion == 2:
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(1, 1),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(input)
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(1, 1),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(out)
        out1 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out1, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out = Block(out, 128, with_shortcut=False)
        out = concatenate(inputs=[out1, out], axis=1)
        out2 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out2, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out = Block(out, 128, with_shortcut=False)
        out1 = pool2(pool_size=(2, 2), data_format="channels_first")(out1)
        out = concatenate(inputs=[out1, out2, out], axis=1)
        out3 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out3, 256, with_shortcut=True)
        out = Block(out, 256, with_shortcut=False)
        out = Block(out, 256, with_shortcut=False)
        out2 = pool2(pool_size=(2, 2), data_format="channels_first")(out2)
        out = concatenate(inputs=[out2, out3, out], axis=1)
        out4 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        # out5=GlobalAveragePooling2D(data_format='channels_first')(out4)

        out5 = Flatten()(out4)

        out6 = Dense(units=11,
                     kernel_initializer='normal',
                     kernel_regularizer='l2',
                     activation='softmax')(out5)

        cnn = Model(inputs=input, outputs=out6)

    elif iVersion == 3:
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(1, 1),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(input)
        out = Conv2D(filters=64,
                     kernel_size=(3, 3),
                     kernel_initializer='he_normal',
                     weights=None,
                     padding='valid',
                     strides=(1, 1),
                     kernel_regularizer=l2(1e-6),
                     activation='relu')(out)
        out1 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out1, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out = Block(out, 128, with_shortcut=False)
        out = concatenate(inputs=[out1, out], axis=1)
        out2 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out2, 128, with_shortcut=True)
        out = Block(out, 128, with_shortcut=False)
        out = Block(out, 128, with_shortcut=False)
        out1 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format="channels_first")(out1)
        out = concatenate(inputs=[out1, out2, out], axis=1)
        out3 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        out = Block(out3, 256, with_shortcut=True)
        out = Block(out, 256, with_shortcut=False)
        out2 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format="channels_first")(out2)
        out = concatenate(inputs=[out2, out3, out], axis=1)
        out4 = pool2(pool_size=(3, 3),
                     strides=(2, 2),
                     data_format='channels_first')(out)

        # out5=GlobalAveragePooling2D(data_format='channels_first')(out4)

        out5 = Flatten()(out4)

        out6 = Dense(units=11,
                     kernel_initializer='normal',
                     kernel_regularizer='l2',
                     activation='softmax')(out5)

        cnn = Model(inputs=input, outputs=out6)

    return cnn
Beispiel #5
0
def createModel(patchSize, iVersion = 1):
    seed=5
    np.random.seed(seed)
    input=Input(shape=(1,patchSize[0, 0], patchSize[0, 1]))

    # googlenet7 for 120120 180180
    if iVersion == 1:
        out1=Conv2D(filters=32,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(input)

        out2=Conv2D(filters=64,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out1)
        out2=pool2(pool_size=(2,2),data_format='channels_first')(out2)

        out3=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out2)


        out4=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out3)
        out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

        out5_1=Conv2D(filters=32,
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)

        out5_2=Conv2D(filters=32,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)
        out5_2=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(3,3),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_2)

        out5_3=Conv2D(filters=32,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)
        out5_3=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(5,5),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_3)

        out5_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out4)
        out5_4=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_4)

        out5=concatenate(inputs=[out5_1,out5_2,out5_3],axis=1)

        out7=Conv2D(filters=256,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)
        #out7=pool2(pool_size=(2,2),data_format='channels_first')(out7)

        out8=Conv2D(filters=256,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out7)
        out8=pool2(pool_size=(2,2),data_format='channels_first')(out8)

        out9=Flatten()(out8)


        out10=Dense(units=11,
                   kernel_initializer='normal',
                   kernel_regularizer='l2',
                   activation='softmax')(out9)

        cnn = Model(inputs=input,outputs=out10)

    #336C2P for 4040
    elif iVersion == 2:
        out1=Conv2D(filters=32,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(input)

        out2=Conv2D(filters=64,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out1)

        out3=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out2)

        out4=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out3)
        out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

        out5=Conv2D(filters=256,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out4)

        out6=Conv2D(filters=256,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)
        out6=pool2(pool_size=(2,2),data_format='channels_first')(out6)

        out7=Flatten()(out6)

        out10=Dense(units=11,
                   kernel_initializer='normal',
                   kernel_regularizer='l2',
                   activation='softmax')(out7)

        cnn = Model(inputs=input,outputs=out10)

    #temp/googlenet764
    elif iVersion == 3:
        out1=Conv2D(filters=64,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(input)

        out2=Conv2D(filters=64,
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out1)
        out2=pool2(pool_size=(2,2),data_format='channels_first')(out2)

        out3=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out2)


        out4=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out3)
        out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

        out5_1=Conv2D(filters=32,
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)

        out5_2=Conv2D(filters=32,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)
        out5_2=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(3,3),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_2)

        out5_3=Conv2D(filters=32,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out4)
        out5_3=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(5,5),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_3)

        out5_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out4)
        out5_4=Conv2D(filters=128,  # learning rate: 0.1 -> 76%
                      kernel_size=(1,1),
                      kernel_initializer='he_normal',
                      weights=None,
                      padding='same',
                      strides=(1, 1),
                      kernel_regularizer=l2(1e-6),
                      activation='relu')(out5_4)

        out5=concatenate(inputs=[out5_1,out5_2,out5_3],axis=1)

        out7=Conv2D(filters=256,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)
        #out7=pool2(pool_size=(2,2),data_format='channels_first')(out7)

        out8=Conv2D(filters=256,  # learning rate: 0.1 -> 76%
                    kernel_size=(3,3),
                    kernel_initializer='he_normal',
                    weights=None,
                    padding='valid',
                    strides=(1, 1),
                    kernel_regularizer=l2(1e-6),
                    activation='relu')(out7)
        out8=pool2(pool_size=(2,2),data_format='channels_first')(out8)

        out9=Flatten()(out8)


        out10=Dense(units=11,
                   kernel_initializer='normal',
                   kernel_regularizer='l2',
                   activation='softmax')(out9)

        cnn = Model(inputs=input,outputs=out10)

    #temp/resgooglenet764 wrong!!!
    elif iVersion == 4:
        out1=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(input)
        out2=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out1)
        out2=pool2(pool_size=(2,2),data_format='channels_first')(out2)

        out3=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
        out4=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out3)
        out4=add([out2,out4])
        out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

        out5_1=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)

        out5_2=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
        out5_2=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_2)

        out5_3=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
        out5_3=Conv2D(filters=128,kernel_size=(5,5),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_3)

        out5_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out4)
        out5_4=Conv2D(filters=128,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_4)

        out5=concatenate(inputs=[out5_1,out5_2,out5_3],axis=1)

    #	out6_1=Conv2D(filters=32,kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
    #
    #	out6_2=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
    #	out6_2=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_2)
    #
    #	out6_3=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5)
    #	out6_3=Conv2D(filters=128,kernel_size=(5,5),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_3)
    #
    #	out6_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out5)
    #	out6_4=Conv2D(filters=128,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out6_4)
    #
    #	out6=concatenate(inputs=[out6_1,out6_2,out6_3,out6_4],axis=1)

        out7=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)

        out8=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
                    activation='relu')(out7)
        out8=add([out5, out8])
        out8=pool2(pool_size=(2,2),data_format='channels_first')(out8)

        out9=Flatten()(out8)


        out10=Dense(units=11,
                   kernel_initializer='normal',
                   kernel_regularizer='l2',
                   activation='softmax')(out9)

        cnn = Model(inputs=input,outputs=out10)

    #temp/resgooglenet764_v1
    elif iVersion == 5:
        out1=Conv2D(filters=32,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(input)
        out2=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='valid',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out1)
        out2=pool2(pool_size=(2,2),data_format='channels_first')(out2)

        out3=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out2)
        out4=Conv2D(filters=64,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out3)
        out4=add([out2,out4])
        out4=pool2(pool_size=(2,2),data_format='channels_first')(out4)

        out_3=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out4)
        out_4=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out_3)

        out5_1=Conv2D(filters=64,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out_4)

        out5_2=Conv2D(filters=32,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out_4)
        out5_2=Conv2D(filters=128,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_2)

        out5_3=Conv2D(filters=64,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out_4)
        out5_3=Conv2D(filters=128,kernel_size=(5,5),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_3)

        out5_4=pool2(pool_size=(3,3),strides=(1,1),padding='same',data_format='channels_first')(out4)
        out5_4=Conv2D(filters=128,kernel_size=(1,1),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),activation='relu')(out5_4)

        out5=concatenate(inputs=[out5_1,out5_2,out5_3],axis=1)

        sout6=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)

        out7=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
                    activation='relu')(out5)

        out8=Conv2D(filters=256,kernel_size=(3,3),kernel_initializer='he_normal',weights=None,padding='same',strides=(1, 1),kernel_regularizer=l2(1e-6),
                    activation='relu')(out7)
        out8=add([sout6, out8])
        out8=pool2(pool_size=(2,2),data_format='channels_first')(out8)

        out9=Flatten()(out8)


        out10=Dense(units=11,
                   kernel_initializer='normal',
                   kernel_regularizer='l2',
                   activation='softmax')(out9)

        cnn = Model(inputs=input,outputs=out10)

	return cnn