Как я могу обучить модель (например, Efficien tNet, Re snet) с нуля в Keras? - PullRequest
1 голос
/ 09 мая 2020

Есть ли способ загрузить архитектуру сети, а затем обучить ее с нуля в Keras?

1 Ответ

1 голос
/ 11 мая 2020

Да , Допустим, вы хотите обучить классификатор для 2 классов и ввода 255x255x3 с помощью «ResNet50v2» с нуля. Все, что вам нужно сделать, это импортировать архитектуру без последнего слоя softmax, добавить свой собственный Layers и инициализировать веса с помощью «None».

from keras.applications.resnet_v2 import ResNet50V2 
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D

input_shape = (255,255,3)
n_class = 2
base_model = ResNet50V2(weights=None,input_shape=input_shape,include_top=False)

# Add Custom layers
x = base_model.output
x = GlobalAveragePooling2D()(x)
# ADD a fully-connected layer
x = Dense(1024, activation='relu')(x)
# Softmax Layer
predictions = Dense(n_class, activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=predictions)

# Compile Model
model.compile(optimizer='adam', loss='categorical_crossentropy',metrics=['accuracy'])

# Train
model.fit(X_train,y_train,epochs=20,batch_size=50,validation_data=(X_val,y_val))

Аналогичным образом, чтобы использовать другую архитектуру, например Effi cienNet, обратитесь к Keras Documention . Для конкретно Efficien tNet вы также можете перейти по этой ссылке

...