Keras:功能性API输入层对于嵌入层应该是什么?

Ziqi

我正在使用Keras功能API创建一个神经网络,该网络将单词嵌入层作为句子分类任务的输入。但是我的代码在连接输入层和嵌入层的开头就中断了。https://medium.com/tensorflow/predicting-the-price-of-wine-with-the-keras-functional-api-and-tensorflow-a95d1c2c1b03上的教程之后,我的代码如下:

max_seq_length=100 #i.e., sentence has a max of 100 words 
word_weight_matrix = ... #this has a shape of 9825, 300, i.e., the vocabulary has 9825 words and each is a 300 dimension vector 
deep_inputs = Input(shape=(max_seq_length,))
embedding = Embedding(9825, 300, input_length=max_seq_length,
                          weights=word_weight_matrix, trainable=False)(deep_inputs) # line A
hidden = Dense(targets, activation="softmax")(embedding)
model = Model(inputs=deep_inputs, outputs=hidden)

然后,A行会导致以下错误:

ValueError: You called `set_weights(weights)` on layer "embedding_1" with a  weight list of length 9825, but the layer was expecting 1 weights. Provided weights: [[-0.04057981  0.05743935  0.0109863  ...,  0.0072...

而且我真的不明白错误的含义是什么...

似乎输入层没有正确定义...以前,当我使用顺序模型和嵌入层定义完全​​相同时,一切正常。但是,当我切换到功能API时,会出现此错误。

任何帮助,不胜感激,在此先感谢

潜行

试试这个更新的代码:您必须len(vocabulary) + 1在嵌入层中使用weights=[word_weight_matrix]

max_seq_length=100 #i.e., sentence has a max of 100 words 
word_weight_matrix = ... #this has a shape of 9825, 300, i.e., the vocabulary has 9825 words and each is a 300 dimension vector 
deep_inputs = Input(shape=(max_seq_length,))
embedding = Embedding(9826, 300, input_length=max_seq_length,
                      weights=[word_weight_matrix], trainable=False)(deep_inputs) # line A
hidden = Dense(targets, activation="softmax")(embedding)
model = Model(inputs=deep_inputs, outputs=hidden)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Keras 进行迁移学习。最后一层激活应该是什么?

keras功能性api和多个合并层

多标签分类中的最后一层应该是什么?

经过卷积步骤后,完全连接层中的张量的形状应该是什么?

将层列表添加到keras模型计算图(功能性API)

使用Keras中的功能性API向GRU模型添加掩膜层的正确方法?

在Keras功能API中使用嵌入层

使用keras和tensorflow的卷积神经网络(CNN)的输入应该是什么?

功能性API中的Hard Multiply()层

<p class =“ subheading”>输入可选性</ p>的css选择器应该是什么

React应该是什么样的功能

使用jpmml openscoring REST api时,pmml文件的输入应该是什么

ValueError:未知层:功能性

Keras功能多输入层API

该层的所有输入都应该是张量

如何在Keras中使用功能性API在快捷连接中添加卷积层?

如何使用预训练模型的第一层来提取Keras模型中的特征(功能性API)

SQL查询应该是什么?

dummy()函数-应该是什么?

Vue组件的结构应该是什么?应该按什么顺序添加功能?

对于已发布的包,@types 应该是什么依赖类型?

对于+,-,/,*等的正确优先级评估,正确的语法应该是什么

对于角色是加载服务器缓存的端点,HTTP 响应代码应该是什么?

Keras-嵌入层的输入形状

Keras LSTM中的“ y_train”应该是什么?

“共享”功能的请求规范应该是什么样的?

skimage.color.rgb2lab的输入应该是什么?

Spark Streaming 中 setJars() 方法的输入应该是什么

Tensorflow 我不明白 model.fit 的输入应该是什么