Keras中Embedding的参数解释(小白)

keras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

input_dim并不是维度,而是id的最大数字

Keras中Embedding的参数解释(小白)例如在这个图片中的最大数字id是49999,这个并不是按照顺序排的。
所以在这个参数中,并没有输入的矩阵行数。但是却输入了矩阵的列数,也就是输入样本的长度,也就是input_length。

output_dim是输出的维度,但是它是相当于生维度,相当于做了一次卷积变换
Keras中Embedding的参数解释(小白)图中没有显示出升高维度的感觉,只是展示了一个卷积

那么比如这个程序就是生维度,最后相当于加了一个2的output_dim

from keras.models import Sequential
from keras.layers import Flatten, Dense, Embedding 
import numpy as np

model = Sequential()
model.add(Embedding(3, 2, input_length=7))
model.compile('rmsprop', 'mse')
data = np.array([[0,1,2,1,1,0,1],[0,1,2,1,1,0,1]]
model.predict(data))
#输出
[[[-0.00732628 -0.02913231]
  [ 0.00573028  0.0329752 ]
  [-0.0401206  -0.01729034]
  [ 0.00573028  0.0329752 ]
  [ 0.00573028  0.0329752 ]
  [-0.00732628 -0.02913231]
  [ 0.00573028  0.0329752 ]]

 [[-0.00732628 -0.02913231]
  [ 0.00573028  0.0329752 ]
  [-0.0401206  -0.01729034]
  [ 0.00573028  0.0329752 ]
  [ 0.00573028  0.0329752 ]
  [-0.00732628 -0.02913231]
  [ 0.00573028  0.0329752 ]]]
上一篇:ALBERT


下一篇:作业记录 WEEK7