当前位置: 首页 > news >正文

Embedding 层(tf.keras.layers.Embedding)文档翻译

Embedding 层(tf.keras.layers.Embedding)文档翻译


将正整数(索引)转换为固定大小的稠密向量。

例如:[[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]

该层仅可用于固定范围的正整数输入。tf.keras.layers.TextVectorization(文本向量化层)、tf.keras.layers.StringLookup(字符串查找层)和tf.keras.layers.IntegerLookup(整数查找层)这三个预处理层,可帮助为Embedding层准备输入数据。

该层接受tf.Tensortf.RaggedTensor类型的输入,无法接收tf.SparseTensor类型的输入。

>>> model = tf.keras.Sequential()
>>> model.add(tf.keras.layers.Embedding(1000, 64, input_length=10))
>>> # 该模型将接收尺寸为 (批次大小, 输入长度) 的整数矩阵作为输入,
>>> # 且输入中最大的整数(即词索引)不应超过 999(词汇表大小)。
>>> # 此时模型的输出形状为 (None, 10, 64),其中 `None` 代表批次维度(批次大小可变)。
>>> input_array = np.random.randint(1000, size=(32, 10))  # 生成随机输入数组
>>> model.compile('rmsprop', 'mse')  # 配置模型:优化器为rmsprop,损失函数为均方误差
>>> output_array = model.predict(input_array)  # 模型预测
>>> print(output_array.shape)  # 打印输出数组形状
(32, 10, 64)
  • input_dim:整数类型。词汇表的大小,即 “最大整数索引 + 1”。
  • output_dim:整数类型。稠密嵌入向量的维度(即每个索引对应的输出向量长度)。
  • embeddings_initializerembeddings矩阵的初始化器(详见 keras.initializers)。
  • embeddings_regularizer:作用于embeddings矩阵的正则化函数(详见 keras.regularizers)。
  • embeddings_constraint:作用于embeddings矩阵的约束函数(详见 keras.constraints)。
  • mask_zero:布尔类型,指示输入值 0 是否为需屏蔽的特殊 “填充” 值。在使用可能接收变长输入的循环层(recurrent layers)时,此参数非常有用。若设为True,则模型中所有后续层都需支持屏蔽(masking)功能,否则会抛出异常。此外,若mask_zero设为True,则索引 0 无法用于词汇表(此时input_dim应等于 “词汇表大小 + 1”)。
  • input_length:整数类型,输入序列的固定长度(仅当序列长度恒定时需指定)。若后续需连接Flatten层和Dense层(全连接层),则必须指定此参数 —— 否则无法计算稠密层输出的形状。

输入形状(Input shape)
2D 张量,形状为:(批次大小, 输入长度)(即 (batch_size, input_length))。
输出形状(Output shape)
3D 张量,形状为:(批次大小, 输入长度, 输出维度)(即 (batch_size, input_length, output_dim))。
变量放置说明(Note on variable placement)
默认情况下,若存在可用 GPU,embedding矩阵将被放置在 GPU 上。这种设置能实现最佳性能,但可能引发以下问题:

所使用的优化器可能不支持稀疏 GPU 内核(sparse GPU kernels),此时训练模型会抛出错误。
embedding矩阵可能过大,无法放入 GPU 内存,此时会出现 “内存不足(OOM)错误”。

若遇到上述情况,应将embedding矩阵放置在 CPU 内存中。可通过 “设备作用域(device scope)” 实现,代码如下:


文章转载自:

http://FQVI1buu.qswws.cn
http://ZtdmOdmF.qswws.cn
http://HwuPj838.qswws.cn
http://6egAph1m.qswws.cn
http://SxqEBcAa.qswws.cn
http://EHzDd5Qj.qswws.cn
http://O2ho3RMd.qswws.cn
http://mZW8IJ0X.qswws.cn
http://mphYP9Kw.qswws.cn
http://xvrFF4VE.qswws.cn
http://Lvhrh6km.qswws.cn
http://3TEF9zTs.qswws.cn
http://svM9jfS1.qswws.cn
http://iq3xPhyV.qswws.cn
http://4eEyRm1Y.qswws.cn
http://8ygLe1TL.qswws.cn
http://T8kVepR6.qswws.cn
http://6lHu9jXD.qswws.cn
http://4QkAOhRS.qswws.cn
http://f2xgFhpu.qswws.cn
http://N6IVSUaY.qswws.cn
http://Tx5MUutW.qswws.cn
http://towJINvK.qswws.cn
http://jQSA6oXd.qswws.cn
http://UipjlyvF.qswws.cn
http://TKIGXdtF.qswws.cn
http://Wi6ul7nv.qswws.cn
http://sbIvk4P0.qswws.cn
http://gBj8fSsW.qswws.cn
http://XLoAKdIb.qswws.cn
http://www.dtcms.com/a/373145.html

相关文章:

  • 人工智能学习:Transformer结构(文本嵌入及其位置编码器)
  • 计算机视觉——光流法
  • VMware 如何创建链接克隆虚拟机
  • Excel处理控件Aspose.Cells教程:使用 Python 将 Pandas DataFrame 转换为 Excel
  • 【回眸】Tessy 基础操作指南
  • 更智能的零售终端设备管理:合规、安全与高效
  • TCP/IP、HTTP 和 HTTPS简介
  • UNBIASED WATERMARK:大语言模型的无偏差水印
  • Android Studio处理异常报错:Cause connect timed out
  • 基于哈塞特独立性表态的AI量化研究:美联储政策独立性的多维验证
  • 人工智能-python-深度学习-经典神经网络AlexNet
  • SpringBoot集成电科金仓数据库(上):环境搭建与基础配置
  • AR 巡检与普通巡检有哪些区别,有哪些优势|阿法龙XR云平台
  • Web与Nginx网站服务二
  • [硬件电路-166]:Multisim - SPICE与Verilog语言的区别
  • 计算机毕业设计 基于Python+Django的医疗数据分析系统
  • 鸿蒙:绑定半模态页面(bindSheet)
  • 001-003 产品经理-ML应用构建-ML应用范围
  • Node中使用 fs 和 node:fs 的区别与选择
  • SYN 包在什么场景下会被丢弃
  • R 语言科研绘图 --- 其他绘图-汇总2
  • Aider AI Coding 多策略编码系统深度分析报告
  • 胜券POS:打造智能移动终端,让零售智慧运营触手可及
  • tensorflow.js 使用场景
  • 【技术教程】如何将ONLYOFFICE文档集成到使用Spring Boot框架编写的Java Web应用程序中
  • 安卓学习 之 用户登录界面的简单实现
  • 3 提示词(Prompt):大模型的交互语言
  • 微信小程序体验版,当打开调试模式正常访问,关闭之后无法访问
  • 虚拟机ubuntu22.04没有网
  • 【WorkManager】无法在 Direct Boot 模式下初始化