【问题标题】:EOFError using numpy.load()EOFError 使用 numpy.load()
【发布时间】:2018-01-30 16:50:03
【问题描述】:

我有一个从 npy 文件加载数据的命令:

utable = numpy.load('utable.npy')

但这会导致EOFError:

File "/home/divyat/anaconda2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 419, in load
    pickle_kwargs=pickle_kwargs)
  File "/home/divyat/anaconda2/lib/python2.7/site-packages/numpy/lib/format.py", line 640, in read_array
    array = pickle.load(fp, **pickle_kwargs)
EOFError

我不明白这个错误。究竟发生了什么? numpy.load() 方法调用 pickle.load() 函数,这会导致错误。文件 utable.npy 是一个用于使用 skipthoughts 生成文本嵌入的文件。我从这里下载了文件:

https://github.com/ryankiros/skip-thoughts#getting-started

【问题讨论】:

  • 你确定utable.npy 不为空吗?
  • 是的,它不是空的。它的大小为 1.2 GB
  • 你有解决这个问题的办法吗?我面临同样的问题,我可以在调试时看到二进制值,但在使用 pickle.loads 时会出现 EOFError

标签: python python-2.7 numpy pickle


【解决方案1】:

您尝试加载的腌制文件可能不支持 readline() 方法。 检查 .npy 文件是否在您的默认目录中创建...

【讨论】:

    猜你喜欢
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2017-10-07
    • 2019-08-31
    • 2016-08-31
    • 2020-09-06
    • 1970-01-01
    相关资源
    最近更新 更多