我使用一种简单的(不一定有效的)方法来保存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将断开连接。
3条答案
按热度按时间2ul0zpep1#
尝试禁用广告拦截器。为我工作
7nbnzgx92#
(我在阅读你的更新之前写了这个答案。我认为这可能会有所帮助)。
files.upload()
只是用来上传文件。我们没有理由期望它返回一些pytorch type/model
。当你调用
a = files.upload()
时,a
是一个文件名字典-一个大字节数组。就像你做
open('my_image', 'b').read()
一样所以,我认为下一行
best_model[filename]
试图打印整个巨大的字节数组,这会引起colab的错误。798qvoo83#
我还在我的Ubuntu机器上遇到了Google Colab中的“无法连接到运行时”问题。这使我无法连接到Colab运行时并访问我的笔记本。
在调查问题后,我发现根本原因是我的Ubuntu系统上缺少可用空间。当我检查可用的磁盘空间时,它显示我有0字节的可用空间。