from keras import Input
from keras.layers import Conv2D, MaxPooling2D, Dropout, BatchNormalization
from keras.layers import concatenate, Conv2DTranspose, Activation
from keras.models import Model
from tensorflow.keras.optimizers import Adam
def EnhancedNetOptimized(pretrained_weights=None):
input_shape = (None, None, 1)
inputs = Input(shape=input_shape, name='input_img')
conv1 = Conv2D(16, 3, activation='relu', padding='same')(inputs)
bn1 = BatchNormalization()(conv1)
drop1 = Dropout(0.3)(bn1)
pool1 = MaxPooling2D(pool_size=(2, 2))(drop1)
conv2 = Conv2D(24, 3, activation='relu', padding='same')(pool1)
bn2 = BatchNormalization()(conv2)
drop2 = Dropout(0.3)(bn2)
pool2 = MaxPooling2D(pool_size=(2, 2))(drop2)
conv3 = Conv2D(32, 3, activation='relu', padding='same')(pool2)
bn3 = BatchNormalization()(conv3)
drop3 = Dropout(0.3)(bn3)
pool3 = MaxPooling2D(pool_size=(2, 2))(drop3)
conv4 = Conv2D(40, 3, activation='relu', padding='same')(pool3)
bn4 = BatchNormalization()(conv4)
drop4 = Dropout(0.3)(bn4)
up5 = Conv2DTranspose(32, 2, strides=(2, 2), padding='same')(drop4)
concat5 = concatenate([drop3, up5], axis=3)
conv5 = Conv2D(32, 3, activation='relu', padding='same')(concat5)
bn5 = BatchNormalization()(conv5)
drop5 = Dropout(0.3)(bn5)
up6 = Conv2DTranspose(24, 2, strides=(2, 2), padding='same')(drop5)
concat6 = concatenate([drop2, up6], axis=3)
conv6 = Conv2D(24, 3, activation='relu', padding='same')(concat6)
bn6 = BatchNormalization()(conv6)
drop6 = Dropout(0.3)(bn6)
up7 = Conv2DTranspose(16, 2, strides=(2, 2), padding='same')(drop6)
concat7 = concatenate([drop1, up7], axis=3)
conv7 = Conv2D(16, 3, activation='relu', padding='same')(concat7)
bn7 = BatchNormalization()(conv7)
drop7 = Dropout(0.3)(bn7)
conv8 = Conv2D(1, 1, padding='same')(drop7)
output = Activation('sigmoid')(conv8)
model = Model(inputs=inputs, outputs=output)
opt = Adam(learning_rate=1e-4)
model.compile(optimizer=opt, loss='binary_crossentropy', metrics=['accuracy'])
if pretrained_weights:
model.load_weights(pretrained_weights)
return model
2024102301
最新推荐文章于 2025-12-16 10:44:31 发布
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
TensorFlow-v2.15
TensorFlow
TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型
978

被折叠的 条评论
为什么被折叠?



