我使用迁移学习来训练模型。基本模型是efficientNet。你可以在这里读更多关于它的内容
from tensorflow import keras
from keras.models import Sequential,Model
from keras.layers import Dense,Dropout,Conv2D,MaxPooling2D,
Flatten,BatchNormalization, Activation
from keras.optimizers import RMSprop , Adam ,SGD
from keras.backend import sigmoid
Run Code Online (Sandbox Code Playgroud)
SwishActivation 类(激活):
def __init__(self, activation, **kwargs):
super(SwishActivation, self).__init__(activation, **kwargs)
self.__name__ = 'swish_act'
def swish_act(x, beta = 1):
return (x * sigmoid(beta * x))
from keras.utils.generic_utils import get_custom_objects
from keras.layers import Activation
get_custom_objects().update({'swish_act': SwishActivation(swish_act)})
Run Code Online (Sandbox Code Playgroud)
model = enet.EfficientNetB0(include_top=False, input_shape=(150,50,3), pooling='avg', weights='imagenet')
Run Code Online (Sandbox Code Playgroud)
x = model.output
x = …Run Code Online (Sandbox Code Playgroud)