使用 colab &pytorch 训练深度学习模型问题记录(二): stack expects each tensor to be equal size, but got [64] at entry

出现这个Runtime error 很有可能是因为一个 batch 内每条数据长度不一致,检查是否需要 pad 或者 truncate 是否有问题。
我在使用 transformers 的 Berttokenizer 处理句子对是遇到这个问题,不同的数据有不同的特点,根据具体情况调整 truncate 策略。

encoded_pair = self.tokenizer(sent1, sent2, 
                                      padding='max_length',  # Pad to max_length
                                      truncation=TRUE,  # Truncate to max_length TRUE
                                      max_length=self.maxlen,  
                                      return_tensors='pt')  # Return torch.Tensor objects

把truncation方式改为’longest_first’,问题解决。

encoded_pair = self.tokenizer(sent1, sent2, 
                                      padding='max_length',  # Pad to max_length
                                      truncation='longest_first', 
                                      max_length=self.maxlen,  
                                      return_tensors='pt')  # Return torch.Tensor objects
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值