【发布时间】:2023-12-11 21:08:02
【问题描述】:
我正在尝试从 Colab 上的 Keras 加载 LSTM 模型并更改其单位,但我收到以下错误:“AttributeError:无法设置属性“单位”,可能是因为它与现有的只读冲突对象的@property。请选择其他名称”。我尝试修改其他图层参数,效果很好。我能做些什么来解决它?
我用来加载模型并修改它的代码:
model = keras.models.load_model('model.h5')
model.summary() #the model is composed by embedding, dropout, LSTM, dropout then dense layer
model.layers[2].units = 100
new_model = model_from_json(model.to_json())
我用来生成初始模型的代码:
def lstm(vocab_size, tokenizer, X_train, X_validation, y_train, y_validation):
model = Sequential()
model.add(Embedding(input_dim=vocab_size,
output_dim=embedding_dim,
input_length=length_size,
name='embedding'))
#droupout layer
model.add(Dropout(rate = first_dropout_rate))
#lstm layer
model.add(LSTM(units = units))
#dropout layer
model.add(Dropout(rate = last_dropout_rate))
#output layer
model.add(Dense(units=1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
#model_random.summary()
history_random = model.fit(X_train,
y_train,
batch_size=batch_size,
epochs=epochs,
validation_data=(X_validation, y_validation))
return model
【问题讨论】:
标签: python tensorflow keras lstm