首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用非符号张量keras的输入调用的图层

使用非符号张量keras的输入调用的图层
EN

Stack Overflow用户
提问于 2017-07-01 01:38:55
回答 3查看 60.6K关注 0票数 22

我正在尝试将一个层的输出传递到两个不同的层中,然后将它们连接在一起。然而,我被这个错误阻止了,它告诉我我的输入不是符号张量。

代码语言:javascript
复制
Received type: <class 'keras.layers.recurrent.LSTM'>. All inputs to the layers should be tensors.

但是,我相信我非常仔细地遵循了文档:https://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models

并且不能完全确定为什么这是错误的?

代码语言:javascript
复制
net_input = Input(shape=(maxlen, len(chars)), name='net_input')
lstm_out = LSTM(128, input_shape=(maxlen, len(chars)))

book_out = Dense(len(books), activation='softmax', name='book_output')(lstm_out)
char_out = Dense(len(chars-4), activation='softmax', name='char_output')(lstm_out)

x = keras.layers.concatenate([book_out, char_out])
net_output = Dense(len(chars)+len(books), activation='sigmoid', name='net_output')

model = Model(inputs=[net_input], outputs=[net_output])

谢谢

EN

回答 3

Stack Overflow用户

发布于 2017-07-01 02:03:43

看起来您实际上并没有给LSTM层提供输入。您可以指定递归神经元的数量和输入的形状,但不提供输入。尝试:

代码语言:javascript
复制
lstm_out = LSTM(128, input_shape=(maxlen, len(chars)))(net_input)
票数 26
EN

Stack Overflow用户

发布于 2019-07-31 05:23:38

我知道,文档可能会让人感到困惑,但当你传递各个层时,Concatenate实际上只需要"axis“作为参数。这些层需要作为参数传递给它的结果,如下所示:

要修改的

行:

X= keras.layers.concatenate(book_out,char_out)

应该是什么样子:

X= keras.layers.Concatenate()(book_out,char_out)

票数 9
EN

Stack Overflow用户

发布于 2018-11-30 06:48:43

我认为你需要添加axis=1来连接,尝试:

代码语言:javascript
复制
x = keras.layers.concatenate([book_out, char_out], axis=1)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44852153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档