82 lines
3.1 KiB
Python
82 lines
3.1 KiB
Python
from convolution_model_tools.convolution_2D_tools import model_2D_tool
|
|
from dense_model_tools.dense_tools import model_Dense_Layer
|
|
from all_models_tools.all_model_tools import add_Activative, add_dropout
|
|
from keras.activations import softmax, sigmoid
|
|
from keras.applications import VGG19, ResNet50, InceptionResNetV2, Xception, DenseNet169, EfficientNetV2L
|
|
|
|
def original_VGG19_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
vgg19 = VGG19(include_top = False, weights = "imagenet", input_shape = (120, 120, 3))
|
|
GAP = tools.add_globalAveragePooling(vgg19.output)
|
|
# flatten = tools.add_flatten(vgg19.output)
|
|
dense = dense_tool.add_dense(256, GAP)
|
|
# dense = add_Activative(dense)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return vgg19.input, dense
|
|
|
|
def original_Resnet50_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
resnet50 = ResNet50(include_top = False, weights = "imagenet", input_shape = (120, 120, 3))
|
|
GAP = tools.add_globalAveragePooling(resnet50.output)
|
|
dense = dense_tool.add_dense(256, GAP)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return resnet50, dense
|
|
|
|
def original_InceptionResNetV2_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
inceptionresnetv2 = InceptionResNetV2(include_top = False, weights = "imagenet", input_shape = (120, 120, 3))
|
|
flatten = tools.add_flatten(inceptionresnetv2.output)
|
|
dense = dense_tool.add_dense(256, flatten)
|
|
dense = add_Activative(dense)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return inceptionresnetv2.input, dense
|
|
|
|
def original_Xception_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
xception = Xception(include_top = False, weights = "imagenet", input_shape = (150, 150, 3))
|
|
GAP = tools.add_globalAveragePooling(xception.output)
|
|
dense = dense_tool.add_dense(256, GAP)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return xception, dense
|
|
|
|
def original_EfficientNetV2L_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
EfficientNet_V2L = EfficientNetV2L(include_top = False, weights = "imagenet", input_shape = (120, 120, 3))
|
|
flatten = tools.add_flatten(EfficientNet_V2L.output)
|
|
dense = dense_tool.add_dense(256, flatten)
|
|
dense = add_Activative(dense)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return EfficientNet_V2L.input, dense
|
|
|
|
def original_DenseNet169_model():
|
|
tools = model_2D_tool()
|
|
dense_tool = model_Dense_Layer()
|
|
|
|
Densenet169 = DenseNet169(include_top = False, weights = "imagenet", input_shape = (120, 120, 3))
|
|
flatten = tools.add_flatten(Densenet169.output)
|
|
dense = dense_tool.add_dense(256, flatten)
|
|
dense = add_Activative(dense)
|
|
dense = dense_tool.add_dense(4, dense)
|
|
dense = add_Activative(dense, softmax)
|
|
|
|
return Densenet169.input, dense |