We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
周博士: 您好!
我在阅读您的代码时注意到了一些关于加快推理速度的技巧,特别是关于cache的使用以及如何处理帧与帧之间的agent编码问题。我有几个问题想要进一步了解和确认:
Temporal Attention中的KV Cache使用:在处理新帧时,您使用了历史的agent encodings。我理解这里应该使用的是KV Cache技巧,通过下三角矩阵的mask来保证推理结果的一致性。请问我的理解是否正确?
Agent数量与顺序不一致的处理:
单帧Agent的edge和r计算:当只传入一个时间点的agent数据时,例如计算edge_index_t可能为空,这会导致无法计算rel_pos_t等相对关系,进而影响后续的Temporal Attention计算。我试了试每个agent的edge_index_t给的值为[[0],[0]],但attention的结果略有差异。这种差异可能是因为单个时间步的position_embedding和连续时间步骤的position_embedding不同导致的,在这种情况下应该如何处理能保证推理和训练结果一致性呢?
附上相关我理解的代码修改段落供参考,麻烦看看我的理解是否正确:
for i in range(self.num_layers): x_a = x_a.reshape(-1, self.hidden_dim) x_a = self.t_attn_layers[i]((x_a, x_a), r_t, edge_index_t, kv_cache = kv_cache) x_a = x_a.reshape(-1, 1, self.hidden_dim).transpose(0, 1).reshape(-1, self.hidden_dim) x_pl = x_pl.transpose(0, 1).reshape(-1, self.hidden_dim) x_a = self.pl2a_attn_layers[i]((x_pl, x_a), r_pl2a, edge_index_pl2a) x_a = self.a2a_attn_layers[i]((x_a, x_a), r_a2a, edge_index_a2a) x_a = x_a.reshape(1, -1, self.hidden_dim).transpose(0, 1) if x_a_past is not None: x_a = torch.cat([x_a_past[1:, :, :], x_a], dim = 1) return x_a, kv_cache
期待您的回复和指导。
谢谢!
The text was updated successfully, but these errors were encountered:
No branches or pull requests
周博士:
您好!
我在阅读您的代码时注意到了一些关于加快推理速度的技巧,特别是关于cache的使用以及如何处理帧与帧之间的agent编码问题。我有几个问题想要进一步了解和确认:
Temporal Attention中的KV Cache使用:在处理新帧时,您使用了历史的agent encodings。我理解这里应该使用的是KV Cache技巧,通过下三角矩阵的mask来保证推理结果的一致性。请问我的理解是否正确?
Agent数量与顺序不一致的处理:
单帧Agent的edge和r计算:当只传入一个时间点的agent数据时,例如计算edge_index_t可能为空,这会导致无法计算rel_pos_t等相对关系,进而影响后续的Temporal Attention计算。我试了试每个agent的edge_index_t给的值为[[0],[0]],但attention的结果略有差异。这种差异可能是因为单个时间步的position_embedding和连续时间步骤的position_embedding不同导致的,在这种情况下应该如何处理能保证推理和训练结果一致性呢?
附上相关我理解的代码修改段落供参考,麻烦看看我的理解是否正确:
期待您的回复和指导。
谢谢!
The text was updated successfully, but these errors were encountered: