【问题标题】:IOPub data rate exceeded in Jupyter notebook (when viewing image)Jupyter 笔记本中的 IOPub 数据速率超出(查看图像时)
【发布时间】:2017-09-03 10:53:33
【问题描述】:

我想在 Jupyter 笔记本中查看图像。这是一个 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 中的限制。)

【问题讨论】:

  • 有没有办法从笔记本本身增加这个而不是在命令行上更改配置?我在共享环境中工作,无权在命令行上更改 jupyter。

标签: jupyter-notebook ipython jupyter


【解决方案1】:

试试这个:

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

或者这个:

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

【讨论】:

  • 如果您只是在寻找临时解决方案,这是最简单的方法。
  • 如果可以的话,我会再次支持使用科学记数法。
  • @TomaszGandor 虽然这样做,它现在是一个浮点数而不是一个整数。这通常会产生不良影响,但在这里可能没问题。
  • 如果您使用 Anaconda 用户界面打开 Jupyter Notebook,您可以在哪里运行此代码?
  • 谁能帮忙?我一直在想把这个放在哪里?
【解决方案2】:

我使用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 笔记本现在在 release 5.2.2 上。这个问题应该是resolved。使用 conda 或 pip 升级。

【讨论】:

  • 创建配置文件后,可以运行jupiter notebook;因为 jupyter_notebook_config.py 已写入您的 Jupyter 文件夹(对我来说:C:\Users\nnd\.jupyter\jupyter_notebook_config.p); Jupyter 将接收您的更改。
  • 如果您无法从 cmd.exe (windows 10) 运行 jupyter notebook,请尝试从“Anaconda prompt”(如果您已安装)运行。
  • @Itay Livni:我的 Windows 命令行无法识别命令 $ jupyter notebook --generate-config,并说命令错误或找不到。我有 Windows 10。有什么建议吗?
  • @artre notebook --generate-config 应该被输入。不是美元符号
  • @artre 您应该浏览到 jupyter、exe 的位置,然后运行上面提供的命令。对我来说是\documents\anaconda2\scripts
【解决方案3】:

Removing print statements can also fix the problem.

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            猜你喜欢
            • 2017-10-21
            • 2023-04-10
            • 1970-01-01
            • 1970-01-01
            • 2018-06-23
            • 1970-01-01
            • 1970-01-01
            • 2022-06-11
            • 2018-11-14
            相关资源
            最近更新 更多