KerasRS / API 文档 / 嵌入层 / TableConfig 配置类

TableConfig 配置类

[源代码]

TableConfig

keras_rs.layers.TableConfig(
    name: str,
    vocabulary_size: int,
    embedding_dim: int,
    initializer: (
        str | keras.src.initializers.initializer.Initializer
    ) = keras.src.initializers.random_initializers.VarianceScaling(mode="fan_out"),
    optimizer: str | keras.src.optimizers.optimizer.Optimizer = "adam",
    combiner: str = "mean",
    placement: str = "auto",
    max_ids_per_partition: int = 256,
    max_unique_ids_per_partition: int = 256,
)

一个嵌入表的配置。

配置一个表以供一个或多个 keras_rs.layers.FeatureConfig 使用,后者又用于配置 keras_rs.layers.DistributedEmbedding

属性

  • name:表的名称。必须定义。
  • vocabulary_size:表的词汇量大小(行数)。
  • embedding_dim:表的嵌入维度(宽度)。
  • initializer:嵌入权重的初始化器。如果未指定,则默认为 truncated_normal_initializer,均值为 0.0,标准差为 1 / sqrt(embedding_dim)
  • optimizer:嵌入表的优化器。仅支持 SGD、Adagrad、Adam 和 FTRL。请注意,并非所有优化器的参数都受支持。默认为 Adam。
  • combiner:指定如果单行中有多个条目时如何减少。支持 meansqrtnsummean 是默认值。sqrtn 通常能获得良好的准确性,特别是对于词袋列。
  • placement:放置嵌入表的位置。"auto" 是默认值,表示如果 SparseCore 可用,则将表放置在 SparseCore 上,否则放置在模型其余部分所在的默认设备上。值为 "sparsecore" 表示表将放置在 SparseCore 芯片上,如果 SparseCore 不可用则会引发错误。值为 "default_device" 表示即使 SparseCore 可用,表也将放置在模型其余部分所在的默认设备上。模型其余部分的默认设备在 TPU 上是 TPU 的 TensorCore,否则是 GPU 或 CPU。
  • max_ids_per_partition:表的每个分区最大 id 数。这是一个依赖于输入数据的值,并且是编译器正确分配内存所必需的。
  • max_unique_ids_per_partition:表的每个分区最大唯一 id 数。这是一个依赖于输入数据的值,并且是编译器正确分配内存所必需的。