将具有正常模型的Keras嵌入合并到一个顺序模型中

问题描述 投票:0回答:1

我想将具有普通模型的keras嵌入合并到一个顺序模型中,如本repository中的笔记本中所示>

from keras.layers import *
from keras.models import *

models = []

for categoical_var in categorical_vars :
    model = Sequential()
    model.reset_states( )
    no_of_unique_cat  = df[categoical_var].nunique()
    embedding_size = min(np.ceil((no_of_unique_cat)/2), 50 )
    embedding_size = int(embedding_size)
    model.add(  Embedding( no_of_unique_cat+1, embedding_size, input_length = 1 ) )
    model.add(Reshape(target_shape=(embedding_size,)))
    models.append( model )


model_rest = Sequential()
model_rest.add(Dense(  64 , input_dim = 6 ))
model_rest.reset_states( )
models.append(model_rest)

full_model = Sequential()
full_model.add(Merge(models, mode='concat'))

full_model.add(Dense(512))
full_model.add(Activation('sigmoid'))
full_model.add(Dropout(0.2))

full_model.add(Dense(32))
full_model.add(Activation('sigmoid'))
full_model.add(Dropout(0.2))

full_model.add(Dense(1))

full_model.compile(loss='mean_squared_error', optimizer='Adam',metrics=['mse','mape'])

问题是新版本的keras不再使用'Merge',我尝试使用Concatenate,但不适用于顺序模型

有帮助吗?我查看了this,但这是一个不同的问题

[我想将具有普通模型的keras嵌入合并到一个顺序模型中,如在此存储库中的笔记本中,来自keras.layers import * from keras.models import * models = [] for ...

tensorflow keras neural-network deep-learning keras-layer
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.