文本位置编码的疑问
您好,t2v的diffusers版本中看到了对视频添加rope位置编码,但文本没找到在哪里处理的,请问文本的位置编码是全为0吗?谢谢
@guoguangchao 看这里,是全0 https://github.com/huggingface/diffusers/blob/de6a88c2d7659c616b44c0856677335110b8ff2e/src/diffusers/models/embeddings.py#L678-L701
还挺奇怪的,有两个地方没想明白: 1、为什么text的位置编码都是0呢 2、在_get_positional_embeddings中对视频添加了sincos位置编码,在CogVideoXAttnProcessor2_0中又对query和key的视频部分添加了rope位置编码,为什么要对视频加两次位置编码呢
text部分为什么要位置编码(只是作为条件输入,并没有输出)? video的这两个编码肯定是不一样的,也有各自的作用?不是很清楚原理
又看了下,代码中的self.use_positional_embeddings和self.use_learned_positional_embeddings都为False,应该是没有加sincos位置编码,但还是不太明白为什么text不用加位置编码 https://github.com/huggingface/diffusers/blob/de6a88c2d7659c616b44c0856677335110b8ff2e/src/diffusers/models/embeddings.py#L736
哪里写的self.use_positional_embedding是False?都是True啊;CogVideoX1.5的use_learned_positional_embedding为True,1.0是False
是的,我看的是CogVideoX,不是1.5的
CogVideoX里self.use_positional_embedding也是True
我读了下代码应该是False,可以参考下这部分