在Google Colab环境中直接从桌面加载文件通常速度较慢。尽管如此,有两种更快的选项可以上传和访问Colab中的文件:使用wget从外部位置获取文件,以及挂载Google Drive来访问那里的文件。无论是使用wget从外部位置(例如CDN、网站、GitHub)还是Google Drive下载文件,都有一个显著的好处:因为文件是持久的,可以在多个会话中访问它,而无需重新上传文件到Colab。
在本指南中,将讨论如何使用wget和Google Drive快速上传文件到Google Colab。让开始吧!
可以将文件上传到Google Drive,然后下载到Google Colab。这允许在云端永久存储文件。Google Drive与Colab有官方集成。只需几行代码,就可以在Colab中挂载并检索Google Drive中的文件。尽管仍然需要在互联网连接上上传文件,但只需这样做一次。这比手动上传文件到Colab更快,因为每次启动新会话时都需要上传文件。
首先,将想要在Colab笔记本中使用的文件上传到Google Drive。建议将文件上传到一个文件夹中,以便可以挂载特定的文件夹。
例如,这里有一个名为bottles的文件夹在Google Drive中。在这个场景中,正在将一个图像数据集加载到Colab中以训练计算机视觉模型。计算机视觉数据集可能包含成千上万的图像,这使得这种集成特别有用。
要将Google Drive挂载到Colab,请创建一个新的Colab单元格并添加以下代码:
from google.colab import drive
from google.colab import files
drive.mount("/content/drive")
只能挂载完整Drive;不能挂载特定文件夹。当运行此代码时,系统会要求确认想要连接到Google Drive:
然后,系统会要求授予所需的权限:
注意:只有在信任笔记本中的代码时才应该从Google Drive下载文件,因为授予权限会给予对Drive中文件的读写访问权限。
然后,运行:
files.upload()
这将从文件夹中下载文件到Google Colab环境,允许在笔记本中使用它们。例如,可以使用以下方式从Drive打开一个文件:
from IPython.display import Image
Image('/content/drive/bottles/images/example.png')
这是结果:成功地将文件下载到了Colab。
如果有一个文件可以在外部网站上获得——例如CDN——可以使用wget将文件下载到Google Colab。这比直接上传文件到Google Colab更快,因为Colab的后端可以直接将文件下载到Colab后端。
可以使用以下代码使用wget下载文件:
!wget https://example.com
其中example.com是正在下载的文件的URL。如果下载了一个zip文件,可以使用以下命令解压缩它:
!unzip file.zip
在本指南中,介绍了两种快速上传文件到Google Colab的方法:挂载Google Drive文件夹并从那里下载文件;以及下载wget上可用的外部源(例如CDN)的文件。