我有一个jupyter笔记本,可以创建图像的本地缓存。我想在运行特定单元格之前清除缓存。有谁知道这是怎么做到的吗?我试过了:
import gc
gc.collect()
但它没有效果。我也尝试清除chrome中的所有cookie和缓存,但这确实有效。
答案 0 :(得分:0)
我意识到这不是一个很好的答案(简而言之,很糟糕)-简而言之,关闭并重新打开浏览器。
我今天一直在为此苦苦挣扎,甚至清除浏览器缓存似乎也没有用。我发现刷新图像的唯一方法是:
...我什至尝试删除引用的图像文件。但是浏览器仍然坚持使用它。
答案 1 :(得分:0)
jupyter 中的 Python 不一样,我认为自动垃圾收集会在代码中的某个点起作用,每一步都会暂停和缓存,这使得处理缓冲区非常占用内存。 最简单的解决方案是向元素添加析构函数并在需要的步骤中删除对 gc 的需求。
这个例子使用空缓冲区作为负载,如果你有足够的内存同时打开所有实例,如果不分块处理它们,只需使用 del img_buffs
就足够了。
n_images = 1024
img_buffs = {}
for i in range(n_images):
img_buffs[i] = (0,) * 150000
for i in range(n_images):
del img_buffs[i]
答案 2 :(得分:0)
在 Jupyter Notebook 的新单元格中尝试以下操作:
%reset -f
以上将清除所有没有 User Confirmation
的变量。如果您需要明确的用户确认,只需删除 -f
。
%reset_selective -f varName
The above 将删除特定变量。
如果你使用的Python版本大于3.3,你也可以试试(我没用过!):
%store -d someVar # Remove particular variable and its value from storage
%store -z # Remove all variables from storage
有关详细信息,请查看 this doc。
答案 3 :(得分:-4)
最好和最简单的解决方案是先卸载 Jupyter notebook,然后重新安装。