已关闭
InitEmbeddingHashTable 文档中的初始化模式名称与实现不一致 #6992
KaranocaVe创建于  11 天前关闭于  11 天前
KaranocaVe
KaranocaVe
11 天前 创建

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

likedislike
KaranocaVeKaranocaVe
11 天前 关联了pull request:更正 InitEmbeddingHashTable README 中的 initializer_mode 取值
KaranocaVeKaranocaVe
11 天前 修改了issue 的描述
yuning_chenyuning_chen成员
11 天前 将 KaranocaVe 设为负责人
HuangRZzzz
HuangRZzzz成员
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" 的措辞。

likedislike
HuangRZzzz
HuangRZzzz成员
11 天前 评论:

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

likedislike
HuangRZzzzHuangRZzzz成员
11 天前 关闭了 issue
CANN-robotCANN-robot成员
6 天前 添加了label:resolved