我编写了一个脚本,可以在每次迭代后将我的模型和训练示例上载到Google Drive,以防发生崩溃或任何导致笔记本无法运行的情况,如下所示:
drive_path = 'drive/My Drive/Colab Notebooks/models/'
if path.exists(drive_path):
shutil.rmtree(drive_path)
shutil.copytree('models', drive_path)
每当我检查自己的Google云端硬盘时,垃圾箱中的几十个已删除模型文件夹都会占用几GB,我必须手动将其删除。
google.colab.drive
中唯一的功能似乎就是mount
。
根据this tutorial,shutil.rmtree()
会永久删除目录,但显然不适用于云端硬盘。
答案 0 :(得分:1)
可以使用pydrive模块在Google Colab内部执行此操作。我建议您首先将不需要的文件和文件夹移动到“废纸rash”(通常是通过在代码中删除它们),然后在任何您认为有必要的时候(例如,要释放一些空间来减轻新DL项目的权重),通过编码以下行来清空垃圾箱。
要永久清空Google云端硬盘的垃圾箱,请在Google Colab笔记本中编写以下几行:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
my_drive = GoogleDrive(gauth)
输入验证码并创建有效的GoogleDrive类实例后,输入:
for a_file in my_drive.ListFile({'q': "trashed = true"}).GetList():
# print the name of the file being deleted.
print(f'the file "{a_file['title']}", is about to get deleted permanently.')
# delete the file permanently.
a_file.Delete()
如果您不想使用我的建议,并希望永久删除云端硬盘中的特定文件夹,则可能需要进行更复杂的查询并处理fileId
,parentId
,以及在查询Google Drive API时云端硬盘中的文件或文件夹可能有多个父文件夹的事实。
有关更多信息:
答案 1 :(得分:0)
只需将其移入垃圾桶并连接到驱动器。从那里永久删除笔记本。
答案 2 :(得分:0)
文件在删除时将移动到bin中,因此,这种巧妙的技巧可将文件大小在删除之前减小为0(无法撤消!)
EnterNames