NLP自定义数据集出错IndexError
收藏
快速回复
AI Studio平台使用 其他其他 1239 13
NLP自定义数据集出错IndexError
收藏
快速回复
AI Studio平台使用 其他其他 1239 13

在项目【PaddleHub实战——使用语义预训练模型ERNIE优化文本分类】https://aistudio.baidu.com/aistudio/projectdetail/185121中将数据集换为自定义数据集时出错
--> 150 self.train_examples = self._read_file(self.train_path, phase="train")
151
152 def _load_dev_examples(self):
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/dataset/base_nlp_dataset.py in _read_file(self, input_file, phase)
75 text_a=line[0],
76 text_b=line[1],
---> 77 label=line[2])
78 else:
79 raise Exception(
IndexError: list index out of range

0
收藏
回复
全部评论(13)
时间顺序
C
ColinDowney
#2 回复于2020-03

这里的发帖体验极差,要不想试一下ERNIR绝对不会用这个平台发帖

0
回复
C
ColinDowney
#3 回复于2020-03
from paddlehub.dataset.base_nlp_dataset import BaseNLPDataset

class ThuNews(BaseNLPDataset):
    def __init__(self):
        # 数据集存放位置
        self.dataset_dir = "/home/aistudio/data/mydata"
        super(ThuNews, self).__init__(
            base_path=self.dataset_dir,
            train_file="train.tsv",
            dev_file="validation.tsv",
            test_file="test.tsv",
            train_file_with_header=True,
            dev_file_with_header=True,
            test_file_with_header=True,
            # 数据集类别集合
            label_list=['城乡建设', '环境保护' ,'交通运输', '教育文体', '劳动和社会保障', '商贸旅游', '卫生计生'])
dataset = ThuNews()
for e in dataset.get_train_examples()[:3]:
    print("{}\t{}\t{}".format(e.guid, e.text_a, e.label))
0
回复
C
ColinDowney
#4 回复于2020-03

只能一部分一部分发了,希望大家见谅。这个机制也好奇怪,居然是新的回复在最上面……

0
回复
AIStudio810258
#5 回复于2020-03
这里的发帖体验极差,要不想试一下ERNIR绝对不会用这个平台发帖[图片]

我从来没遇到过。可能跟认证有关吧。没认证的可能过滤的比较严格。

0
回复
C
ColinDowney
#6 回复于2020-03
我从来没遇到过。可能跟认证有关吧。没认证的可能过滤的比较严格。

检查出来是出错部分的代码识别为色情…网页又没有缓存,一跳转出去编辑的内容全部没了…无语…

你是说实名认证吗?如果是注册的信息的话我是有填的。

但是我看了下那个要求实名认证,如果只是发贴为什么必须要上传身份证照片呢

0
回复
C
ColinDowney
#7 回复于2020-03

报错信息(就是这部分系统说色情)

0
回复
C
ColinDowney
#8 回复于2020-03

在项目【PaddleHub实战——使用语义预训练模型ERNIE优化文本分类】https://aistudio.baidu.com/aistudio/projectdetail/185121中将数据集换为自定义数据集时出错

看起来似乎是由于数据集读取时候line[2]不存在导致的,但是由于不太熟悉这个平台的使用,不会单步跟踪进去查看line具体读取的是什么,所以搞不清问题所在。
怀疑是数据集格式问题,但是数据集已经按要求整理为行与行直接用'\n'隔开,列与列之间用'\t'隔开,是否是这里的格式问题?

另外运行了
%debug
得到
> /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/dataset/base_nlp_dataset.py(98)_read_file()
94 raise Exception(
95 "the predict file: %s has too many columns (should <=2)"
96 % (input_file))
97 examples.append(example)
---> 98 return examples
这里又看起来是因为predict file的问题,但是我在构造函数里面并没有使用predict file。
谢谢看到这里的同学。

0
回复
AIStudio810258
#9 回复于2020-03
检查出来是出错部分的代码识别为色情…网页又没有缓存,一跳转出去编辑的内容全部没了…无语… 你是说实名认证吗?如果是注册的信息的话我是有填的。 但是我看了下那个要求实名认证,如果只是发贴为什么必须要上传身份证照片呢
展开

应该指的是开发者认证吧。

0
回复
AIStudio810258
#10 回复于2020-03
在项目【PaddleHub实战——使用语义预训练模型ERNIE优化文本分类】https://aistudio.baidu.com/aistudio/projectdetail/185121中将数据集换为自定义数据集时出错 看起来似乎是由于数据集读取时候line[2]不存在导致的,但是由于不太熟悉这个平台的使用,不会单步跟踪进去查看line具体读取的是什么,所以搞不清问题所在。 怀疑是数据集格式问题,但是数据集已经按要求整理为行与行直接用'\n'隔开,列与列之间用'\t'隔开,是否是这里的格式问题? 另外运行了 %debug 得到 > /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlehub/dataset/base_nlp_dataset.py(98)_read_file() 94 raise Exception( 95 "the predict file: %s has too many columns (should <=2)" 96 % (input_file)) 97 examples.append(example) ---> 98 return examples 这里又看起来是因为predict file的问题,但是我在构造函数里面并没有使用predict file。 谢谢看到这里的同学。
展开

跟编码有关么?utf-8

0
回复
C
ColinDowney
#11 回复于2020-03
跟编码有关么?utf-8

编码已经转为UTF-8了

0
回复
AIStudio810258
#12 回复于2020-03
编码已经转为UTF-8了

不行就打印数据集的二进制输出,逐个找是什么问题吧。

0
回复
A
AIStudio876826
#13 回复于2021-07

你好 请问问题解决了吗?

0
回复
UnseenMe
#14 回复于2021-07

又是一个一年前的问题…

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户