Керас распределенная модель и данные

Предположим, у меня есть модель Кераса и функция 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)

Идея отсюда

Другие вопросы по тегам