嵌入Keras层

嵌入

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)

将正整数(索引)转换为固定大小的粗矢量。例如。 ((4),(20)) – >((0.25,0.1),(0.6, – 0.2))

推荐阅读
1的4,142

该层必须用作模型中的主要层。

先例

model = Sequential()

model.add(嵌入(1000,64,input_length = 10))

#该模型将整个网络的大小(clump,input_length)作为信息。

#信息中最大的数字(例如单词索引)应该是

#不大于999(词汇量度)。

#now model.output_shape ==(无,10,64),其中None是群集测量。

input_array = np.random.randint(1000,size =(32,10))

model.compile('rmsprop','mse')

output_array = model.predict(input_array)

确认output_array.shape ==(32,10,64)

争论

  • input_dim:int> 0.词汇表的大小,例如最大整数索引+ 1。
  • output_dim:int> = 0.测量厚安装。
  • embeddings_initializer:嵌入框架的初始化程序。
  • embeddings_regularizer:连接到嵌入网络的正则化函数。
  • activity_regularizer:与层的产量相关的正则化函数(其“启动”)。
  • embeddings_constraint:连接到嵌入网格的约束函数。
  • mask_zero:信息自尊0是否是一种应该被掩盖的非凡的“缓冲”尊重。当使用可能需要可变长度输入的间歇层时,这很有用。如果这是真的,那么模型中的每个后续层都需要帮助隐藏或者引发特殊情况。在mask_zero被设置为True的情况下,因此,在词汇表中不能使用索引0(input_dim应该接近词汇量的大小+ 1)。
  • input_length:信息安排的长度,当它是一致的时。如果你将接口Flatten,此时需要进行此争用,此时密集层上游(没有它,无法注册厚产量的状态)。

信息形态

具有形状的2D张量:(batch_size,sequence_length)。

屈服形状

具有形状的3D张量:(batch_size,sequence_length,output_dim)。

资讯来源:由0x资讯编译自NVESTLABS。版权归作者Anusha所有,未经许可,不得转载