AdmitAndEvictConfig
功能描述
该接口表示单个嵌入表的准入和淘汰配置。该类提供了配置嵌入表特征准入和淘汰功能的参数,允许用户根据特定条件控制特征的准入和淘汰行为。
函数原型
1 2 3 4 5 | class AdmitAndEvictConfig: admit_threshold: Optional[int] = _DEFAULT_ADMIT_THRESHOLD not_admitted_default_value: Optional[float] = 0.0 evict_threshold: Optional[int] = _DEFAULT_EVICT_THRESHOLD # unit: seconds evict_step_interval: Optional[int] = 0 |
参数说明
参数名 |
类型 |
可选/必选 |
说明 |
|---|---|---|---|
admit_threshold |
int |
可选 |
特征准入阈值。特征(在输入分布后)将在重复次数大于admit_threshold时被准入。 默认值为-1,表示特征准入功能未启用。 |
not_admitted_default_value |
float |
可选 |
未准入特征ID的嵌入值。 默认值为0.0,仅在admit_threshold为非默认值时生效。 |
evict_threshold |
int |
可选 |
特征淘汰阈值,单位为秒。 默认值为0,表示特征淘汰功能未启用。 |
evict_step_interval |
int |
可选 |
特征淘汰功能的步长间隔。 默认值为0,仅在evict_threshold为非默认值时生效。 |
使用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | from torchrec_embcache.distributed.configs import EmbCacheEmbeddingConfig, AdmitAndEvictConfig # 假设默认值 _DEFAULT_ADMIT_THRESHOLD = -1 _DEFAULT_EVICT_THRESHOLD = 0 EVICT_STEP_INTERVAL = 100 # 示例步长间隔 # 假设 enable_admit 和 enable_evict 是布尔变量 enable_admit = True enable_evict = True admit_threshold = 2 if enable_admit else _DEFAULT_ADMIT_THRESHOLD evict_threshold = 2000_0000 if enable_evict else _DEFAULT_EVICT_THRESHOLD # 创建 AdmitAndEvictConfig 实例 admit_and_evict_config = AdmitAndEvictConfig( admit_threshold=admit_threshold, not_admitted_default_value=0.999, evict_threshold=evict_threshold, evict_step_interval=EVICT_STEP_INTERVAL ) # 假设 table_num 是嵌入表的数量 table_num = 5 # 假设 embedding_dims 和 num_embeddings 是列表 embedding_dims = [10, 20, 30, 40, 50] num_embeddings = [100, 200, 300, 400, 500] # 假设 weight_init 是一个函数 def weight_init(size): return torch.rand(size) # 循环创建配置对象 for i in range(table_num): ec_config = EmbCacheEmbeddingConfig( name=f"table{i}", embedding_dim=embedding_dims[i], num_embeddings=num_embeddings[i], feature_names=[f"feat{i}"], init_fn=weight_init, weight_init_min=0.0, weight_init_max=1.0, admit_and_evict_config=admit_and_evict_config ) # 打印配置信息 print(f"Embedding Table {i}: {ec_config}") |
父主题: 准入淘汰管理接口