Jupyter notebook 中超出了 IOPub 数据速率(查看图像时)

IOPub data rate exceeded in Jupyter notebook (when viewing image)

我想在 Jupyter notebook 中查看图像。这是一个 9.9MB 的 .png 文件。

from IPython.display import Image
Image(filename='path_to_image/image.png')

我收到以下错误:

IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.

有点意外和reported elsewhere

这是预期的吗?有简单的解决方案吗?

(错误消息建议更改 --NotebookApp.iopub_data_rate_limit 中的限制。)

我 运行 使用 networkxbokeh

这对我有用 Windows 7 (taken from here):

  1. 要创建一个 jupyter_notebook_config.py 文件,所有默认值都被注释掉,您可以使用以下命令行:

    $ jupyter notebook --generate-config

  2. 打开文件并搜索 c.NotebookApp.iopub_data_rate_limit

  3. 注释掉行 c.NotebookApp.iopub_data_rate_limit = 1000000 并将其更改为更高的违约率。我用过 c.NotebookApp.iopub_data_rate_limit = 10000000

这个无情的默认配置出现在很多地方。查看 git 个问题:

看起来它可能会通过 5.1 release

得到解决

更新:

Jupyter notebook 现已上线 release 5.2.2. This problem should have been resolved。使用 conda 或 pip 升级。

试试这个:

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

或者这样:

yourTerminal:prompt> jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10 

通过在 Anaconda PowerShell 或提示中键入 'jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10' ,Jupyter notebook 将使用新配置打开。现在尝试 运行 您的查询。

对 Windows(10) 位用户的一些额外建议:

  1. 如果您是第一次使用 Anaconda Prompt/PowerShell,请在 Windows 任务栏的 搜索字段 中键入 "Anaconda",然后您将看到建议的软件。
  2. 确保以 管理员 的身份打开 Anaconda 提示符。
  3. 始终导航至您的用户目录 或在运行 命令之前首先导航至包含您的Jupyter Notebook 文件的目录。否则,您可能会在系统文件的某个地方结束,并被不熟悉的文件树弄糊涂。

在我自己的 Anaconda Prompt Windows 10 PC 中打开具有新数据限制的 Jupyter notebook 的正确方法是:

(base) C:\Users\mobarget\Google Drive\Jupyter Notebook>jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

Removing print statements can also fix the problem.

除了加载图像外,当您的代码以高速率连续打印时也会发生此错误,这会导致错误“超出 IOPub 数据速率”。例如。如果你在某处的 for 循环中有一个 print 语句被调用超过 1000 次。

对于已经 运行 docker 个容器,尝试编辑文件名 - ~/.jupyter/jupyter_notebook_config.py 取消注释行 - NotebookApp.iopub_data_rate_limit = 并设置高数,如 1e10。 重新启动 docker,应该可以解决问题

我运行进入这个问题运行版本6.3.0。当我尝试 Merlin 评价最高的解决方案时,powershell 提示通知我 iopub_data_rate_limit 已从 NotebookApp 移动到 ServerApp。该解决方案仍然有效,但想提及变化,特别是因为配置的内部处理可能已被弃用。

简单的解决方法是创建一个 for 循环并打印。那么就不会有任何问题。如果图形很大,直接打印 wcc 会导致。因此,以下任何代码都可以作为解决方法。

wcc=列表(nx.weakly_connected_components(train_graph)) 对于范围内的我(1,10): 打印(wcc[i])

对于 wcc 中的我): 打印(wcc)

使用Visual Studio 代码,Jupyter 扩展将能够处理大数据。从 anaconda 导航器启动

就像其他人指出的那样,高速打印语句可能会导致这种情况。通过使用 if 语句打印 modulo 一个数字来解决它。 python 中的示例:

k = 10
if (i % k == 0):
   print("Something")

如果警告仍然存在,请增加 k

一般来说,尝试打印太长的内容会触发此错误。我试图打印一个长度为 9221593 个字符(太长)的字符串,这触发了错误。