torchtext 错误处理方式:OverflowError: Python int too large to convert to C long

一、背景

正在完成https://github.com/FudanNLP/nlp-beginner,在任务二中开始学习使用pytorch深度学习框架,自然想到使用torchtext完成文本预处理。

二、报错

train_data = data.TabularDataset(
        path='./sentiment-analysis-on-movie-reviews/train.tsv',format='tsv',
        skip_header=True,
        fields = [('PhraseId', None),('SentenceId', None),('Phrase', TEXT),('Sentiment', LABEL)])   ------->该行报错!

OverflowError: Python int too large to convert to C long

开始调研错误都指向python2会报该错误,但是我的确使用的python3呀。

三、正确设置方法

修改torchtext\utils.py文件第130行。笔者的路径为C:\ProgramData\Anaconda3\Lib\site-packages\torchtext,可根据Anaconda安装路径进行修改,Anaconda3\Lib\site-packages\torchtext进行定位。

# csv.field_size_limit(sys.maxsize)
csv.field_size_limit(maxInt)

本人使用win10系统,目测是调用系统maxsize发生错误,修改后即可解决问题。

 

四、参考资料

1、直接解决问题:https://stackoverflow.com/questions/57988897/overflowerror-python-int-too-large-to-convert-to-c-long-torchtext-datasets-text

2、torchtext官方文档:https://torchtext.readthedocs.io/en/latest/index.html

3、torchtext使用方法:https://www.jianshu.com/p/e5adb235399e

4、基于pytorch深度学习框架的文本情感分析:https://blog.csdn.net/weixin_34351321/article/details/94699262

你可能感兴趣的:(编程工具,DeBUG,工具使用,pytorch,torchtext,OverflowError)