如何解决“连接”层要求输入具有匹配形状,但连接轴Keras除外
我是深度学习和编码的新手。
我正在尝试使用数字特征将分类嵌入层连接起来,以适合用于多类分类的模型。但是,即使我尝试Reshape输入,也无法将图层连接在一起。我们非常感谢您的帮助。
这是我的音频输入:
# fill in the 31 features grabbed from the original data set
audio_input = Input(shape=(31,),name='audio_features')
audio_input = Reshape((1,31))(audio_input)
这是我的嵌入层reference1,reference2:
time_signature_input = Input(shape=(1,name='time_signature')
time_signature_embedded = Embedding(train.time_signature.max()+1,min(600,round(1.6 * time_signature_size**0.56)),input_length=1,name='time_signature_embedded')(time_signature_input)
当我尝试连接时:
concatenated = Concatenate()([cats,audio_input])
out = layers.Flatten()(concatenated)
我得到了错误:
A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [((None,1,6),(None,31)]
解决方法
尝试一下,
audio_input = Input(shape=(31,),name='audio_features')
time_signature_input = Input(shape=(1,name='time_signature')
nb_unique_classes = train.time_signature.max()+1
embedding_size = min(600,round(1.6 * time_signature_size**0.56))
time_signature_embedded = Embedding(nb_unique_classes,embedding_size,input_length=1,name='time_signature_embedded')(time_signature_input)
time_signature_embedded = Reshape(target_shape=(embedding_size,))(time_signature_embedded)
model_layers = concatenate([time_signature_embedded] + [audio_input])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。