python - Word2Vec 模型中的大小是否等于句子的最大输入大小?
问题描述
对许多人来说,这似乎是一个微不足道的问题,但对我来说并不清楚。
所以我有一个看起来像这样的模型
w2v_model = gensim.models.word2vec.Word2Vec(size=300,
window=7,
min_count=10,
workers=8)
我也像这样标记我的 x_train 和 x_test
x_train = pad_sequences(tokenizer.texts_to_sequences(df_train.text), maxlen=300)
x_test = pad_sequences(tokenizer.texts_to_sequences(df_test.text), maxlen=300)
我的嵌入层看起来像这样
embedding_matrix = np.zeros((vocab_size, 300), dtype='float32')
for word, i in tokenizer.word_index.items():
if word in w2v_model.wv:
embedding_matrix[i] = w2v_model.wv[word]
embedding_layer = Embedding(vocab_size, 300, weights=[embedding_matrix], input_length=300,
trainable=False)
所以我知道模型中的 300 是维度大小,而 pad_sequences 中的 300 是最大序列长度,也就是最大句子长度
我还知道 embedding_matrix 定义中的 300 再次是 w2v 维度大小,并且 embedding_layer 中的前 300 指的是 w2v 维度大小
第二个 300 将是最大输入长度,也就是与 pad_sequences 中的最大长度相同,但我没有得到的是。
如果我的 w2v 模型的维度大小等于 240,这是否意味着我的 pad_sequences maxlen 也应该是 240,并且我的 embedding_layer 中的 input_length 也应该是 240?
例如,w2v 的大小是 300,但我要预测的句子长度是 360,而我的 pad_sequences maxlen 是 500。我的神经网络能够正确预测这个长度为 360 的句子吗?
解决方案
推荐阅读
- ruby - gem 在 OSX 10.15 上安装 therubyracer -v 0.12.3
- javascript - 在比较中将常量更改为变量会产生意想不到的结果
- jms - 大型机 MQ 到 EBCDIC 中的独立 JMS
- c# - TreeView 中的分层数据。在树中查找节点
- ios - 使用 Facebook SDK 登录从一个情节提要转到另一个情节提要
- python - 从 Python 调用 c++ 文件
- jquery - 无法在标签标签中循环 div 并获取其第一个孩子的文本内容
- android - 如何重命名 Firebase 存储中的文件夹 - Android Studio
- python - 对存储在字典中的 numpy 数组执行向量操作?
- python - 返回 Python SQL 查询“NoneType”对象