keras构建词向量代码需要注意的坑

本文详细介绍了在Keras中构建词向量时需要注意的参数和输入输出问题,特别是`embedding`层的使用,包括`input_dim`参数的重要性,以及如何处理词向量的初始化和tokenizer函数的输出。同时,还展示了如何加载预训练词向量并应用于embedding层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keras构建词向量代码需要注意的坑

  • keras中model构建步骤中的embedding

    keras.layers.embeddings.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]]

  • 下标就是词典中出现的单词的下标

    可以看出来在Embedding函数中并没有weights参数。其实是layers中的参数,权重初始化

1.参数
参数 含义
input_dim 大或等于0的整数,字典长度,即输入数据最大下标+1
output_dim 大于0的整数,代表全连接嵌入的维度
embeddings_initializer 嵌入矩阵的初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。参考initializers
embeddings_regularizer 嵌入矩阵的正则项,为Regularizer对象
embeddings_constraint 嵌入矩阵的约束项,为Constraints对象
mask_zer 布尔值,确定是否将输入中的‘0’看作是应该被忽略的‘填充’(padding)值,该参数在使用递归层处理变长输入时有用。设置为True的话,模型中后续的层必须都支持masking,否则会抛出异常。如果该值为True,则下标0在字典中不可用,input_dim应设置为
input_length 当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值