from keras import Input
from keras.layers import Conv2D
from keras.layers import MaxPooling2D
from keras.layers import Dropout
from keras.models import Model
from keras.layers import concatenate
from tensorflow.keras.optimizers import Adam
from keras.layers import Conv2DTranspose
from keras.layers import (Conv2D, MaxPooling2D, Dropout, concatenate,
Conv2DTranspose, BatchNormalization, Activation)
import os
import numpy as np
import tensorflow as tf
from keras import Input
from keras.layers import Conv2D, MaxPooling2D, Dropout, concatenate, Conv2DTranspose
from keras.models import Model
from tensorflow.keras.optimizers import Adam
def enhancednet(pretrained_weights=None):
input_shape = (None, None, 1)
inputs = Input(shape=input_shape, name='input_img')
conv1 = Conv2D(16, 5, activation='relu', padding='same')(inputs)
conv1 = BatchNormalization()(conv1)
conv1 = Activation('relu')(conv1)
drop1 = Dropout(0.3)(conv1)
pool1 = MaxPooling2D(pool_size=(2, 2))(drop1)
conv2 = Conv2D(24, 5, activation='relu', padding='same')(pool1)
conv2 = BatchNormalization()(conv2)
conv2 = Activation('relu')(conv2)
drop2 = Dropout(0.3)(conv2)
pool2 = MaxPooling2D(pool_size=(2, 2))(drop2)
conv3 = Conv2D(32, 5, activation='relu', padding='same')(pool2)
conv3 = BatchNormalization()(conv3)
conv3 = Activation('relu')(conv3)
drop3 = Dropout(0.3)(conv3)
pool3 = MaxPooling2D(pool_size=(2, 2))(drop3)
conv4 = Conv2D(40, 5, activation='relu', padding='same')(pool3)
conv4 = BatchNormalization()(conv4)
conv4 = Activation('relu')(conv4)
drop4 = Dropout(0.3)(conv4)
up5 = Conv2D(32, 3, activation='relu', padding='same')(
Conv2DTranspose(32, 5, activation='relu', padding="same", strides=2)(drop4))
merge5 = concatenate([drop3, up5], axis=3)
conv5 = Conv2D(32, 5, activation='relu', padding='same')(merge5)
drop5 = Dropout(0.6)(conv5)
up6 = Conv2D(24, 3, activation='relu', padding='same')(
Conv2DTranspose(24, 5, activation='relu', padding="same", strides=2)(drop5))
merge6 = concatenate([drop2, up6], axis=3)
conv6 = Conv2D(24, 5, activation='relu', padding='same')(merge6)
drop6 = Dropout(0.6)(conv6)
up7 = Conv2D(16, 3, activation='relu', padding='same')(
Conv2DTranspose(16, 5, activation='relu', padding="same", strides=2)(drop6))
merge7 = concatenate([drop1, up7], axis=3)
conv7 = Conv2D(16, 5, activation='relu', padding='same')(merge7)
drop7 = Dropout(0.6)(conv7)
conv8 = Conv2D(1, 1, activation='relu')(drop7)
model = Model(inputs=inputs, outputs=conv8)
opt = Adam()
model.compile(optimizer=opt, loss='mse', metrics=['accuracy'])
if pretrained_weights:
model.load_weights(pretrained_weights)
return model
178

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



