def ZF_UNET_224(dropout_val=0.05, batch_norm=True):
from keras.models import Model
from keras.layers import Input, merge, Convolution2D, MaxPooling2D, UpSampling2D
from keras.layers.normalization import BatchNormalization
from keras.layers.core import Dropout, Activation
inputs = Input((3, 224, 224))
conv1 = double_conv_layer(inputs, 32, dropout_val, batch_norm)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
conv2 = double_conv_layer(pool1, 64, dropout_val, batch_norm)
pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
conv3 = double_conv_layer(pool2, 128, dropout_val, batch_norm)
pool3 = MaxPooling2D(pool_size=(2, 2))(conv3)
conv4 = double_conv_layer(pool3, 256, dropout_val, batch_norm)
pool4 = MaxPooling2D(pool_size=(2, 2))(conv4)
conv5 = double_conv_layer(pool4, 512, dropout_val, batch_norm)
pool5 = MaxPooling2D(pool_size=(2, 2))(conv5)
conv6 = double_conv_layer(pool5, 1024, dropout_val, batch_norm)
up6 = merge([UpSampling2D(size=(2, 2))(conv6), conv5], mode='concat', concat_axis=1)
conv7 = double_conv_layer(up6, 512, dropout_val, batch_norm)
up7 = merge([UpSampling2D(size=(2, 2))(conv7), conv4], mode='concat', concat_axis=1)
conv8 = double_conv_layer(up7, 256, dropout_val, batch_norm)
up8 = merge([UpSampling2D(size=(2, 2))(conv8), conv3], mode='concat', concat_axis=1)
conv9 = double_conv_layer(up8, 128, dropout_val, batch_norm)
up9 = merge([UpSampling2D(size=(2, 2))(conv9), conv2], mode='concat', concat_axis=1)
conv10 = double_conv_layer(up9, 64, dropout_val, batch_norm)
up10 = merge([UpSampling2D(size=(2, 2))(conv10), conv1], mode='concat', concat_axis=1)
conv11 = double_conv_layer(up10, 32, 0, batch_norm)
conv12 = Convolution2D(1, 1, 1)(conv11)
conv12 = BatchNormalization(mode=0, axis=1)(conv12)
conv12 = Activation('sigmoid')(conv12)
model = Model(input=inputs, output=conv12)
return model
a02_zf_unet_model.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录