谷歌Colab:"无法连接到运行时"从本地上传Pytorch模型后

时间:2018-06-04 07:19:56

标签: pytorch google-colaboratory data-persistence

我正在使用一种简单(不一定高效)的方法来保存Pytorch模型。

import torch
from google.colab import files

torch.save(model, filename) # save a trained model on the VM
files.download(filename) # download the model to local

best_model = files.upload() # select the model just downloaded
best_model[filename] # access the model

Colab在执行最后一行期间断开连接,点击RECONNECT标签始终显示ALLOCATING - > CONNECTING(失败,"无法连接到运行时"左下角的消息) - > RECONNECT。同时,执行任何一个单元格都会显示错误消息"无法执行单元格,无法向运行时发送执行消息:[object CloseEvent]"

我知道它与最后一行有关,因为我可以成功连接我的其他谷歌帐户,而这些帐户并没有执行。

为什么会这样?似乎执行最后一行的谷歌帐户无法再连接到运行时。

修改

一天晚上,我可以在会话到期后重新连接谷歌帐户。我只是在评论中尝试了这种方法,并发现只有files.upload() Pytorch模型会导致问题。上传完成后,Colab将断开连接。

2 个答案:

答案 0 :(得分:1)

尝试禁用广告拦截器。为我工作

答案 1 :(得分:0)

(我在阅读你的更新之前写了这个答案。想想它可能会有帮助。)

files.upload()仅用于上传文件。我们没有理由期望它返回一些pytorch type/model

当你致电a = files.upload()时,a是一个文字字典 - 一个大字节数组。

{'my_image.png': b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR....' }
type(a['my_image.png'])

就像你open('my_image', 'b').read()

一样

所以,我认为下一行best_model[filename]尝试打印整个巨大的字节数组,这会导致colab错误。