【问题标题】:Session crash for an unknown reason when using pickle.dump in Google Colab在 Google Colab 中使用 pickle.dump 时会话因未知原因而崩溃
【发布时间】:2019-08-25 11:50:13
【问题描述】:

我正在 Google Colab 环境中使用 Keras 创建一个连体网络。我使用了来自GitHub 的代码。但是当我尝试运行pickle.dump 代码时出现错误:

with open(os.path.join(save_path,"train.pickle"), "wb") as f:
    pickle.dump((X,c), f)

错误:OverflowError: cannot serialize a bytes object larger than 4 GiB

所以,我使用了 Use pickle with protocol=4

pickle.dump((X,c), f, protocol=4)

但在运行此代码期间会话停止,我收到了此消息 "Session crash for an unknown reason "Your session crashed after using all available RAM

我该如何解决这个问题?

【问题讨论】:

    标签: tensorflow keras neural-network deep-learning google-colaboratory


    【解决方案1】:

    我试过了,它对我有用

    import pickle
    pickle_out = open("train.pickle","wb")
    pickle.dump((X,c), pickle_out)
    pickle_out.close()
    

    【讨论】:

      【解决方案2】:

      我的猜测是您的运行时内存不足。

      我能够腌制 4 GB 的数据,但在 Python 中它需要大约 8G 的内存。

      您可以使用“运行时”菜单的“查看运行时日志”来查看运行时日志。这通常有关于崩溃的提示。在这种情况下,它会报告许多大型分配。

      示例:

      会话管理器将显示内存。就我而言,不做任何其他事情:

      【讨论】:

      • 内核重新启动。我也收到了这条消息Your session crashed after using all available RAM
      猜你喜欢
      • 2020-04-29
      • 2022-06-10
      • 1970-01-01
      • 2017-06-24
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      相关资源
      最近更新 更多