当前位置: 首页 > news >正文

使用 DataLoader 加载数据报错‘expected sequence of length 4 at dim 1 (got 0)’

使用 transformer 将字符串转为 id 序列,字符串为中英文混杂形式,

运行中出现报错:'expected sequence of length 4 at dim 1 (got 0)'

发现是在encoder_plus转换时,将输入的文本根据max_length截断了,导致[MASK]等字段没剪除了,生成的 mask_pos (mask 在字符串中的位置)为空,这样在转为 Tensor 时产生了维度错误。

在预处理时,虽然通过设置的最大长度的对字符串做了筛选,但长度是通过空格split计算的,在encoder转换时,每个汉字对应一个id,英文(注:英文是单词或英文字符的拼接) 则根据vocab.txt中的词替换为 id,这样句长就会超过max_length,截断后会将最后的 [MASK] 删除。

解决方法:

在预处理中用encode将字符串转为id序列,根据 id 序列长度及max_length过滤样本。

http://www.lryc.cn/news/34061.html

相关文章:

  • 第十四届蓝桥杯第三期模拟赛B组C/C++原题与详解
  • 致敬三八女神节,致敬IT女生
  • 【Go语言学习笔记】数据
  • puzzle(0919)六宫数局
  • 脑机接口科普0016——独立BCI与非独立BCI
  • 女神节告白代码
  • 【数据结构】单链表:头部操作我很行,插入也不用增容!!!
  • SpringBoot——使用WebSocket功能
  • 博弈论小课堂:非零和博弈(实现双赢)【纳什均衡点】
  • 数组中的逆序对
  • C++基础了解-01-基础语法
  • phpmyadmin 文件包含(CVE-2014-8959)
  • SpringBoot集成MyBatis
  • MySQL-索引
  • 【STM32存储器映射-寄存器基地址-偏移】
  • 【华为OD机试2023】最多颜色的车辆 C++ Java Python
  • 特斯拉后端面试(部分)
  • 【python】使用python将360个文件夹里的照片,全部复制到指定的文件夹中,并且按照顺序重新命名
  • 【C语言】3天速刷C语言(初识)
  • 如何搞定MySQL锁(全局锁、表级锁、行级锁)?这篇文章告诉你答案!太TMD详细了!!!
  • 云计算生态该怎么做?阿里云计算巢打了个样
  • 小樽C++ 多章⑧ (贰) 指针与数组
  • MXNet的机器翻译实践《编码器-解码器(seq2seq)和注意力机制》
  • RK3588平台开发系列讲解(同步与互斥篇)自旋锁介绍
  • Linux系统CPU占用率较高问题排查思路
  • 源码解析——HashMap
  • Elasticsearch 核心技术(六):内置的 8 种分词器详解 + 代码示例
  • Mysql8.0的特性
  • JDK动态代理(tedu)(内含源代码)
  • 【数据结构】二叉搜索树