- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将 Jupyter-notebook 与最新的 Anaconda (2018.12) 一起使用,我注意到它使用了大量内存(大约 6GB)来绘图并直接将约 2000 个数字(1920x1080)保存到 Ubuntu 18.04 中的 .png 文件中.
我尝试在我的 Mac 上用 Anaconda 4.4.0 重现这个问题,但问题没有发生。
后来我尝试在我的 Ubuntu 机器上安装几个不同版本的 Anaconda,并用更简单的代码成功重现了内存泄漏问题。
事实证明,Anaconda 5.0.0 是最后一个没有这种特殊内存泄漏问题的版本。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,101)
n = 0
dt = 0.01
w = 1
while n <= 1000:
y = np.sin(2*np.pi*x + w*n*dt)
plt.clf()
plt.title("T = %.02f s." %(n*dt))
plt.plot(x,y)
plt.savefig("dat/dat_%05d.png" % (n))
plt.close()
n = n+1
我正在使用 htop 来监控内存使用情况。
在 Anaconda 5.0.0 中,它显示我的 8GB RAM 机器的内存使用率恒定为 1.3%。
在 Anaconda 5.1.0 中,内存使用率从 2% 左右开始,并随着将图形保存到 .png 文件中而迅速增加,达到 16% 的内存使用率,即使在单元格执行完成后也保持不变。
我试过
import gc
gc.collect()
并且内存使用量减少了 12%。
当然,我所说的内存使用量是指那些特定 python 进程的内存使用量,而不是整个系统的内存使用量。
有人已经成功解决了最新 Anaconda 中包含的 jupyter-notebook 中的内存泄漏问题吗?
最佳答案
在 while
的每个循环中重置 y
变量是错误的形式,因为原始对象仍在内存中的某个地方,只是不再有对它的引用.您可以在每个 while 循环的末尾,在 n = n+1
语句之前使用 del y
,但是这也不会从内存中释放它...它只是等待 Python 的垃圾收集到达它。可能添加该行可能会更快地释放内存。
我假设您已经看到了:https://www.quora.com/Why-doesnt-Python-release-the-memory-when-I-delete-a-large-object
由于垃圾收集问题,以较小的 block 创建绘图可能会更快。
关于python - 使用 matplotlib 时,带有 Anaconda 5.1.0 或更高版本的 Jupyter-Notebook 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54765105/
在尝试安装 jupyter 的许多不同方法之后,它似乎没有正确安装。 根据我最近遇到的 MacOS 系统 python 问题,可能与 MacOS 相关 pip install jupyter --us
命名 Jupyter Notebook 时,如果使用空格,即 This is my notebook.ipynb 然后,当使用网络浏览器打开时,它的渲染效果非常好。然而,空格在命令行环境中是有害的。但
运行 jupyter notebook和 jupyter server给我非常相似的结果,描述也非常相似。 ❯ jupyter notebook -h The Jupyter HTML Noteboo
是否可以在 Jupyter Lab 中使用笔记本扩展 (nbextensions)? 我认为我的扩展已启用...我调用 jupyter nbextension enable事先在他们身上。但我没有在
我将 Jupyter 与 Anaconda3 结合使用。 我的 Anaconda3\ 和 Anaconda3\Scripts\ 文件夹已添加到 %PATH% 变量中。 尽管 jupyter.exe 位
我将 Jupyter 用于我公司的分析。我想制作显示一些漂亮图表的实时页面。我将在大厅的大显示器上显示此页面,我希望它自动刷新。 有什么方法可以通过刷新浏览器页面来触发“运行所有单元格”吗?或者,是否
%store 魔术功能可以保存大型 python 对象,供您在不同 session 之间使用,但我想找出文件的实际位置,以便我也可以在不同 session 之间传输它们不同的电脑。我正在使用 Wind
我在 Windows 10 的本地 Ubunto 机器上运行 Jupyter notebook。问题是所有文本都与屏幕右侧对齐,包括菜单 - 例如"file"选项卡位于最右侧。以这种方式阅读文本非常困
Closed. This question is not reproducible or was caused by typos。它当前不接受答案。 想要改善这个问题吗?更新问题,以便将其作为on-t
我尝试使用以下内容创建指向 jupyter 笔记本中标题的内部链接。 SO上的各种答案,例如here在我的笔记本中似乎没有按预期工作。下面的代码创建了一个链接,但在尝试访问该链接时没有任何 react
这个问题在这里已经有了答案: How can I share Jupyter notebooks with non-programmers? [closed] (6 个回答) 5年前关闭。 我安装了一
我试图在 jupyter notebook 中自动完成路径。按“tab”后,它显示的不仅仅是文件夹或文件。我认为这些是python的内置功能。有没有办法在自动完成路径时只显示路径和文件? 谢谢! 最佳
我在 Jupyter notebook 中组合了一些数据分析步骤。 随着数据的变化,我希望能够 重新运行所有单元格(以考虑新数据) 转换为html以供查看 我知道我可以通过 jupyter nbcon
在 jupyter 中 笔记本 , 我可以用 nbextensions 配置自动单元计时,结果是这样的: 我怎样才能在 jupyter 中做到这一点 实验室 ?我没有找到任何做类似事情的扩展。 观察:
我正在寻找一个带有 Jupter 可选组件的数据处理集群。 gcloud beta dataproc clusters create cluster-1ea3 --enable-component-g
Jupyter Notebook 的自动完成功能似乎有效,但不知何故它会显示该方法的重复选项。例如下面: 对于每个可能的选项,下拉菜单将显示 2 个相同的选项。为什么会发生这种情况以及如何解决? 最佳
每当我将 jupyter 实验室窗口推到一边时,“简单模式”就会被激活。这导致只显示一个选项卡,而其他选项卡被隐藏。这非常烦人,我不敢相信这是一个标准功能(只是再次安装了 jupyter 实验室)。
当我使用jupyter notebook时, 我希望新单元格的类型为“markdown”。 默认情况下,新单元格的类型为“代码”。我应该修改哪个配置文件以及应该更改哪个变量? 最佳答案 转到您的pyt
奇怪的是,互联网上没有关于如何在 Jupyter 环境下运行 Haskell 的说明。任何引导您实现此目的的文档都需要您从源代码编译,但是当尝试这样做时,会发生各种构建错误。 奇怪的是,一个肯定会给
在带有 ipython 内核的 Jupyter 中,是否有以非阻塞方式执行单元格的规范方法? 理想情况下,我希望能够运行一个单元格 %%background time.sleep(10) print(
我是一名优秀的程序员,十分优秀!