Google Datalab 自动保存失败。输出块最大值?

Google Datalab Autosave Failed. Output block max?

我在 Google 数据实验室笔记本中遇到自动保存失败的问题。我在控制台的端口 8081 上使用 ssh shell。我打开笔记本。做一些改变。点击保存。工作正常。我运行代码,再改一下。点击保存。自动保存失败!它似乎只发生在这个笔记本上。我不确定如何诊断。

有什么想法吗?

问题可重现。

更新:我现在已经将其追溯到显示 16 个扫描图像的代码单元,每个图像大小为 10MB。代码 window 或整个数据实验室笔记本中的输出大小是否有限制?这可能是问题所在吗?

Datalab 中使用的Jupyter 版本不支持上传大文件,因此导致了这个问题。当您尝试保存大型笔记本(>~50MB 左右)时,上传实际上是使用 Jupyter 的文件保存 API.

参见https://github.com/googledatalab/datalab/issues/1324

一种解决方法是,如果图像在笔记本中太大,则不实际保存这些图像,而仅在它们托管在某处时才保存它们的 URL。或者如果你能以某种方式压缩它们,目标是将笔记本的大小控制在一个可管理的范围内。

最终,Datalab 应该升级到使用 notebook==5.0.0,从而解决了这个问题。请随意表达您对该问题的 +1。 :)

我遇到了类似的问题。对我有用的是我将数据存储在 Google 云存储中,然后只从那里将数据读取到笔记本中。之后数据实验室笔记本工作正常。

import google.datalab.storage as storage
import pandas as pd
from io import BytesIO

mybucket = storage.Bucket('$Bucket_name')
data_csv = mybucket.object('$file_name')

uri = data_csv.uri
%gcs read --object $uri --variable data

df = pd.read_csv(BytesIO(data))
df.head()