在使用pytorch和torchtext做NLP相关工作时,发现使用
vectors = torchtext.vocab.Vectors(name='D:/data/glove.840B.300d.txt',cache='cache/')
来构建向量表时,glove.6B.200d可以顺利完成,且第二次运行也可以顺利读取cache,但是使用glove.840B.300第一次能够顺利运行,第二次读取cache会出现invalid argument错误。查询pytorch的issue发现,在windows上,pytorch会在读取2个G以上的模型文件(.pt)时报这个错误。解决办法如下:
在torch.serialization这个python文件下的如下代码块:
offset = f