simcse-pytorch icon indicating copy to clipboard operation
simcse-pytorch copied to clipboard

方便提供下复现的python dependency吗?

Open shm007g opened this issue 3 years ago • 8 comments

shm007g avatar May 12 '21 10:05 shm007g

已更新到readme

wakafengfan avatar May 13 '21 04:05 wakafengfan

我用的BERT BASE,感觉和 bojone的实现,差别较大呀. :\

shm007g avatar May 13 '21 09:05 shm007g

你好,看完你的代码有个问题想咨询一下, 在数据预测处理的时候,我们是将所有的数据打乱,假设输入['你好吗', '今天吃了馒头', ’我爱上你了‘, '马上毕业了'], 则模型输入为 4×768, 接下来就是计算损失, 这里将损失计算最终转化为分类问题,针对刚才那个数据,label应该是[[False, True, False, False], [True, False, False, False], [False, False, False, True], [False, False, True, False], 在损失计算时,我们还会将模型输出进行自己和自己矩阵乘,变为4x4的相关性矩阵。接着计算分类损失。 看样子,在一个batch内,应该第一个和第二个数据是相似的,第三个和第四个数据相似 依次类推才是,为啥代码中的数据预处理是随机组织的。

shawroad avatar May 14 '21 05:05 shawroad

我用的BERT BASE,感觉和 bojone的实现,差别较大呀. :\

这里用的是roberta-wwm,和bojone实现里用roberta-wwm的结果差别不大

wakafengfan avatar May 14 '21 05:05 wakafengfan

你好,看完你的代码有个问题想咨询一下, 在数据预测处理的时候,我们是将所有的数据打乱,假设输入['你好吗', '今天吃了馒头', ’我爱上你了‘, '马上毕业了'], 则模型输入为 4×768, 接下来就是计算损失, 这里将损失计算最终转化为分类问题,针对刚才那个数据,label应该是[[False, True, False, False], [True, False, False, False], [False, False, False, True], [False, False, True, False], 在损失计算时,我们还会将模型输出进行自己和自己矩阵乘,变为4x4的相关性矩阵。接着计算分类损失。 看样子,在一个batch内,应该第一个和第二个数据是相似的,第三个和第四个数据相似 依次类推才是,为啥代码中的数据预处理是随机组织的。

你好,loss计算过程确实是这样,但没理解”随机组织“具体是指哪里?

wakafengfan avatar May 14 '21 06:05 wakafengfan

你好,看完你的代码有个问题想咨询一下, 在数据预测处理的时候,我们是将所有的数据打乱,假设输入['你好吗', '今天吃了馒头', ’我爱上你了‘, '马上毕业了'], 则模型输入为 4×768, 接下来就是计算损失, 这里将损失计算最终转化为分类问题,针对刚才那个数据,label应该是[[False, True, False, False], [True, False, False, False], [False, False, False, True], [False, False, True, False], 在损失计算时,我们还会将模型输出进行自己和自己矩阵乘,变为4x4的相关性矩阵。接着计算分类损失。 看样子,在一个batch内,应该第一个和第二个数据是相似的,第三个和第四个数据相似 依次类推才是,为啥代码中的数据预处理是随机组织的。

你好,loss计算过程确实是这样,但没理解”随机组织“具体是指哪里?

数据输入的那部分我的理解是对的吗? 是将所有句子打乱 然后输入模型?

shawroad avatar May 14 '21 06:05 shawroad

你好,看完你的代码有个问题想咨询一下, 在数据预测处理的时候,我们是将所有的数据打乱,假设输入['你好吗', '今天吃了馒头', ’我爱上你了‘, '马上毕业了'], 则模型输入为 4×768, 接下来就是计算损失, 这里将损失计算最终转化为分类问题,针对刚才那个数据,label应该是[[False, True, False, False], [True, False, False, False], [False, False, False, True], [False, False, True, False], 在损失计算时,我们还会将模型输出进行自己和自己矩阵乘,变为4x4的相关性矩阵。接着计算分类损失。 看样子,在一个batch内,应该第一个和第二个数据是相似的,第三个和第四个数据相似 依次类推才是,为啥代码中的数据预处理是随机组织的。

你好,loss计算过程确实是这样,但没理解”随机组织“具体是指哪里?

难道输入的时候,句子的组织形式是: ['你好吗', '你好吗', '今天吃了馒头','今天吃了馒头', ’我爱上你了‘, ’我爱上你了‘, '马上毕业了','马上毕业了']?

shawroad avatar May 14 '21 08:05 shawroad

你好,看完你的代码有个问题想咨询一下, 在数据预测处理的时候,我们是将所有的数据打乱,假设输入['你好吗', '今天吃了馒头', ’我爱上你了‘, '马上毕业了'], 则模型输入为 4×768, 接下来就是计算损失, 这里将损失计算最终转化为分类问题,针对刚才那个数据,label应该是[[False, True, False, False], [True, False, False, False], [False, False, False, True], [False, False, True, False], 在损失计算时,我们还会将模型输出进行自己和自己矩阵乘,变为4x4的相关性矩阵。接着计算分类损失。 看样子,在一个batch内,应该第一个和第二个数据是相似的,第三个和第四个数据相似 依次类推才是,为啥代码中的数据预处理是随机组织的。

你好,loss计算过程确实是这样,但没理解”随机组织“具体是指哪里?

难道输入的时候,句子的组织形式是: ['你好吗', '你好吗', '今天吃了馒头','今天吃了馒头', ’我爱上你了‘, ’我爱上你了‘, '马上毕业了','马上毕业了']?

一个batch里确实是这种形式

wakafengfan avatar May 14 '21 10:05 wakafengfan