Керас распределенная модель и данные
Предположим, у меня есть модель Кераса и функция train_model(data)
обучить его по некоторым данным.
Я хотел бы знать, возможно ли объединить / объединить идентичные архитектуры, идентичные модели гиперпарама, которые были обучены отдельно / независимо?
python train_model( data1 ) ### one one epoch
python train_model( data2 ) ### one one epoch
...
затем
load( model1 )
load( model2 )
model3 = combine( model1, model2 )
### model3 equivalent to 2 epochs of learning.
Я пытаюсь понять / найти способ распространения обучения.
1 ответ
Вы уже пробовали это?
from keras.models import load_model
# load models - it is just the architecture
model1 = load_model('path/to/trained/model1.h5')
model2 = load_model('path/to/trained/model2.h5')
# load trained weights
model1.load_weights('path/to/weights/from/model1.hdf5')
model2.load_weights('path/to/weights/from/model2.hdf5')
# create a model that will merge both 1 and 2
model = Sequential()
model.add(Merge([model1, model2], mode = 'concat'))
model.add(Dense(1)) # for regression, use you last Dense layer here
model.compile(#your compiling parameters)
# use your merged model
model.predict(dataset_to_be_predicted)
Идея отсюда