Jupyter笔记本中的Numpy负载“超出了IOPub数据速率”。

时间:2017-05-22 10:07:37

标签: python numpy jupyter-notebook pickle

我已经存储了一个numpy pickle格式的大字典文件。我可以在旧的jupyter笔记本应用程序中打开它。但是,在我运行此行的较新版本中,我看到了IOPub错误。

big_dict = np.load('a_large_dictionary.npy').all()

错误:

IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.

似乎在我无法控制的背景中正在发生的事情。这很奇怪,因为我没有尝试在NotebookApp中加载/查看此文件的内容!

有什么想法吗?如何在不编辑Notebookapp配置的情况下加载大文件? (同样,我不想将我刚从文件中读取的内容显示到变量中。)

2 个答案:

答案 0 :(得分:4)

使用

jupyter notebook --NotebookApp.iopub_data_rate_limit=2147483647

启动笔记本时修复了我的问题。资料来源:https://github.com/JuliaLang/IJulia.jl/issues/528

答案 1 :(得分:1)

问题是如果出现错误,numpy.load将打印内容。首先,尝试在终端或除Notebook之外的任何其他python环境中加载pickle文件以查找错误。 在这种情况下,加载旧版本的pickled numpy需要编码参数。此代码修复了问题:

big_dict = np.load('a_large_dictionary.npy', encoding='latin1').all()