Создание модели keras из другой обученной модели

#tensorflow #machine-learning #keras #deep-learning

#tensorflow #машинное обучение #keras #глубокое обучение

Вопрос:

Я пытаюсь создать новую keras модель из другой обученной keras модели

Пример кода для обучения модели, приведенный из:

 #TF version 2.2.0

from tensorflow.python.keras import models, layers
from tensorflow.python.keras.models import Sequential
from tensorflow.python import keras
import tensorflow as tf 
from tensorflow.python.keras.layers import Dense

from tensorflow.keras.datasets import boston_housing
(x_train,y_train), (x_test,y_test) = boston_housing.load_data()

model = Sequential()
model.add(Dense(2, activation='relu', input_shape=(13,)))
model.add(Dense(1, activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
model.fit(x_train, y_train,batch_size= 64,epochs= 1,validation_split=0.2)
  

Сохранение модели как json

 json_obj = model.to_json()
new_model = keras.models.model_from_json(json_obj)
  

Но после создания new_model weights они разные:

 model.get_weights() != new_model.get_weights()
  

Это тот же случай, если я создаю new_model с помощью from_config() . Вопрос в том, не должен ли вес быть одинаковым для обоих model и new_model как я создаю new_model , model или мое понимание неверно? Любые предложения полезны

Ответ №1:

Комментарии:

1. в таком случае, не могли бы вы объяснить, как new_model получить его веса?

2. По умолчанию, случайная инициализация, как я думаю.