python - 将图层与输入相结合
问题描述
在 keras 中是否可以将外部输入添加到合并层?我有简单的嵌入,我想将它与外部值结合起来,但每次我尝试这样做时,我总是会出错。有没有办法向 Keras 层添加外部输入?
models = []
inputs =Input(shape=(10,))
models.append(inputs)
for i in range(2):
model_s = Sequential()
model_s.add(Embedding(1115, 10, input_length=1, name='Hb_{}'.format(i)))
model_s.add(Reshape(target_shape=(10,)))
models.append(model_s)
model = Sequential()
model.add(Merge(models, mode='concat'))
model.add(Dense(1000, kernel_initializer='uniform'))
model.add(Activation('relu'))
model.add(Dense(500, kernel_initializer='uniform'))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.summary()
错误
Tensor' object has no attribute 'get_output_shape_at'
这是用于测试的小代码。
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
m={'Hb_0_input': np.array([0,1, 2, 3, 4, 5, 6, 7, 8, 9]),'Hb_1_input': np.array([0,1, 2, 3, 4, 5, 6, 7, 8, 9]), 'x': np.array([0,1, 2, 3, 4, 5, 6, 7, 8, 9])}
y=np.array([0, 1, 0, 1, 0, 1, 0, 0, 0, 0])
model.fit(m, y)
解决方案
不确定您的意图是什么,但您将模型和张量混合在同一个列表中models = [inputs, model1, model2]
。这是错误的原因。
现在,我们不知道你有什么样的输入,所以我们无法提供进一步的帮助,但假设有一些事情(可能是错误的),这段代码可以帮助你:
inputForEmbedding = Input((length,)) #where length seems to be 1
extraInput = Input(shapeOfTheExtraInput) #I don't know this shape
model1Out = Embedding(1115, 10, input_length=1 name='Hb_{}'.format(i))(inputForEmbedding)
model1Out = Reshape((10,))(model1Out)
....you must make the shapes compatible for `model1Out` and `extraInput`...
outputs = Concatenate(axis=...)([model1Out,extraInput])
outputs = Dense(1000, kernel_initializer='uniform')(outputs)
outputs = Activation('relu')(outputs)
outputs = Dense(500, kernel_initializer='uniform')(outputs)
outputs = Activation('relu')(outputs)
outputs = Dense(1)(outputs)
outputs = Activation('sigmoid')(outputs)
model = Model([inputForEmbedding, extraInput])
model.summary()
推荐阅读
- python - 安装 discord.py 时出错
- firebase-realtime-database - 如何在我的 Firebase 控制台上启用双重身份验证
- css - 水平列表:inline-block vs flex
- python - 将 .mean() 应用于具有条件的分组数据
- c# - CertEnrol import pfx 您输入的密码不正确
- python-3.x - python 正则表达式用法:如何开始,最少匹配,获取中间内容
- python - ValueError:在进行聚类时,输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值
- mysql - 同时使用计数和求和?
- javascript - 三.js 屏幕宽度
- python - 有没有办法计算S n中 D 2n的陪集