Open mmmmlz opened 2 years ago
我理解这样只是为了书写方便。
原因:val_len_item 和 item 都是通过同一个 embedding_name
作为key, 在初始化 embedding_dict 的时候会出现一次覆盖;但是之后 无论是更新 val_len_item 还是 item 的 embedding, 都是更新同一个 key 对应的 embedding,所以在创建的时候 embedding_name
为 key 的 embedding 被覆盖一次并没有什么关系。
是为了share embedding
Please refer to the FAQ in doc and search for the related issues before you ask the question.
Describe the question(问题描述) 在 create_embedding_dict 函数中,使用特征的embedding_name 作为key来进行存储,那么如果特征的embedding_name 重复,事实上在例如在run_sdm里面用户序列中变长特征和item特征就是重复的。这样的话会导致得到的emd被覆盖,如果只需要一份embedding的话,那这样写还有什么意义?