我正在使用PyTorch版本的OpenNMT,并试图修改光束搜索算法。我目前被困在beam_update
函数中(在OpenNMT-py/onmt/decoders/decoder.py文件中)。当它被调用时:
{cd2}
根据.copy_
函数的pythorchdocumentation,它将
Copies the elements from src into self tensor and returns self.
但是,“自我张量”指的是什么?有人能给我解释一下这个函数的作用吗,或者告诉我源代码,因为我找不到它。。。在
self
张量是您调用copy_
的张量。 在您的示例中,它是sent_states.data
。在回答评论中提出的问题:为什么copy的行为不像赋值
=
.copy()
创建到新内存位置的真实副本,而使用=
赋值只存储对内存位置的引用。在下面的代码显示了执行过程中的差异:
输出:
^{pr2}$tensor1
和{相关问题 更多 >
编程相关推荐