KerasRS / API文档 / Embedding 层 / 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.FeatureConfig 又用于配置 keras_rs.layers.DistributedEmbedding

属性

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