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

TableConfig 配置类

[源]

TableConfig

keras_rs.layers.TableConfig(
    name: str,
    vocabulary_size: int,
    embedding_dim: int,
    initializer: Union[
        str, keras.src.initializers.initializer.Initializer
    ] = keras.src.initializers.random_initializers.VarianceScaling(mode="fan_out"),
    optimizer: Union[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: 表的 embedding 维度(宽度)。
  • initializer: embedding 权重的初始化器。如果未指定,默认为 truncated_normal_initializer,其均值为 0.0,标准差为 1 / sqrt(embedding_dim)
  • optimizer: 嵌入表的优化器。仅支持 SGD、Adagrad、Adam 和 FTRL。请注意,并非支持优化器的所有参数。默认为 Adam。
  • combiner: 指定单行中存在多个条目时的规约方式。支持 meansqrtnsum。默认值为 meansqrtn 通常能达到不错的准确率,特别是在 bag-of-words 列中。
  • placement: 放置嵌入表的位置。"auto" 是默认值,表示如果可用,则将表放置在 SparseCore 上,否则放置在模型其余部分所在的默认设备上。值为 "sparsecore" 表示该表将放置在 SparseCore 芯片上,如果 SparseCore 不可用,则会引发错误。值为 "default_device" 表示即使 SparseCore 可用,该表也将放置在模型其余部分所在的默认设备上。模型其余部分的默认设备在 TPU 上是 TPU 的 TensorCore,否则是 GPU 或 CPU。
  • max_ids_per_partition: 表中每个分区的最大 id 数。这是一个依赖于输入数据的值,编译器需要它来适当分配内存。
  • max_unique_ids_per_partition: 表中每个分区的最大唯一 id 数。这是一个依赖于输入数据的值,编译器需要它来适当分配内存。