已关闭
InitEmbeddingHashTable 文档中的初始化模式名称与实现不一致 #6992
KaranocaVe创建于 11 天前关闭于 11 天前
11 天前 关联了pull request:更正 InitEmbeddingHashTable README 中的 initializer_mode 取值
11 天前 修改了issue 的描述
11 天前 将 KaranocaVe 设为负责人
HuangRZzzz
11 天前 评论:
11 天前 评论:
结论:不一致属实。master 上 README 仍写 const,实现只接受 constant。
证据:
hash/init_embedding_hash_table/README.md:67:"random填充sampled_values里面的值,const填充constant_value属性值";:74:"initializer_mode为const时生效";- tiling 只匹配
random(op_host/arch35/init_embedding_hash_table_tiling_arch35.cpp:90)与constant(:104),:109报错文案为 "random or constant";字符串const没有任何入口; - kernel 只有 RANDOM_MOD=0 / CONST_MOD=1 枚举(
op_kernel/arch35/init_embedding_hash_table.h:34-35),由 tiling 映射;proto 默认值也是 "random"(op_graph/init_embedding_hash_table_proto.h:45)。UT 用 "random"(tests/ut/op_host/arch35/test_init_embedding_hash_table_tiling.cpp:94)。
正确取值:random、constant。README:46 已是 "random",要改的正是 :67、:74 两处。
PR !12429(open,仅改 README 这两处,2+/2-)与结论一致,可推进合入;如需一并消除歧义,可顺带看 proto.h:35 注释 "constant mode const value" 的措辞。


HuangRZzzz
11 天前 评论:
11 天前 评论:
关联修复 PR:!12429(评审中,未合入 master)。本单转入 PR 跟踪并关闭;PR 合入后即完全闭环,如方案调整可随时重开。


11 天前 关闭了 issue
6 天前 添加了label:resolved
InitEmbeddingHashTable 文档中的初始化模式名称与实现不一致
固定源码
cann/ops-nn@a7539b121effe3c7b32a1e5e38de5b620b2e4ac9的公开 README 在hash/init_embedding_hash_table/README.md第 67、74 行把常量初始化模式写成const。同一版本 Host tiling 在hash/init_embedding_hash_table/op_host/arch35/init_embedding_hash_table_tiling_arch35.cpp第 104–110 行只接受字符串constant,并在错误信息中列出合法值random or constant。最小配置为
table_handle(INT64 tensor)、bucket_size=1、embedding_dim=1、initializer_mode="const"、constant_value=1.0,省略可选的sampled_values。按 README 选择const会进入非法模式分支并返回失败;使用constant才会进入常量初始化路径。调用者照文档配置无法使用常量初始化。修复将 README 参数说明中的初始化模式列为
random、constant,并把constant_value的生效条件更正为initializer_mode=constant。该修复仅更正文档,不改变算子行为。关联 PR: https://gitcode.com/cann/ops-nn/merge_requests/12429