我已经开始使用Google colab训练神经网络,但是我拥有的数据非常大(4GB和18GB)。我目前将所有这些数据存储在一个驱动器中,但我的Google驱动器上没有足够的空间来传输这些文件。
我是否可以直接从google colab中的一个驱动器访问数据?
我曾尝试直接从自己的计算机上加载数据,但是我觉得此过程非常耗时,并且我的计算机确实没有足够的空间来存储这些文件。我还尝试在?之后添加download = 1。在文件的超链接中,但是不会下载,仅显示超链接。使用wget时会产生“错误403:禁止使用”。消息。
我希望google colab文件下载此压缩文件并从其中解压缩数据,以便进行培训。
答案 0 :(得分:4)
好的,这是下载到colab的方法,在onedrive中选择文件并右键单击下载按钮但立即暂停
!wget --no-check-certificate \
https://public.sn.files.1drv.com/xxx\
-O /content/filename.zip
注意:几分钟后会失效
答案 1 :(得分:2)
您可以使用OneDriveSDK(可从PyPi索引中下载)。
首先,我们将使用:
将其安装在Google Colab中!pip install onedrivesdk
此过程太长,无法在此处容纳。您需要先进行身份验证,然后才能轻松上传/下载文件。
您可以使用以下代码进行身份验证:
import onedrivesdk
redirect_uri = 'http://localhost:8080/' client_secret = 'your_client_secret' client_id='your_client_id' api_base_url='https://api.onedrive.com/v1.0/'
scopes=['wl.signin', 'wl.offline_access', 'onedrive.readwrite']
http_provider = onedrivesdk.HttpProvider()
auth_provider = onedrivesdk.AuthProvider( http_provider=http_provider, client_id=client_id, scopes=scopes)
client = onedrivesdk.OneDriveClient(api_base_url, auth_provider, http_provider)
auth_url = client.auth_provider.get_auth_url(redirect_uri)
# Ask for the code
print('Paste this URL into your browser, approve the app\'s access.')
print('Copy everything in the address bar after "code=", and paste it below.') print(auth_url)
code = input('Paste code here: ') client.auth_provider.authenticate(code, redirect_uri, client_secret)
这将产生一个代码,您需要将该代码粘贴到浏览器中,然后再次粘贴到控制台中以对自己进行身份验证。
您可以使用:
下载文件root_folder = client.item(drive='me', id='root').children.get()
id_of_file = root_folder[0].id client.item(drive='me', id=id_of_file).download('./path_to_file')
答案 2 :(得分:1)
仅用于下载,要下载文件夹:
使用cliget,您只需要在firefox中安装插件,而不是开始下载文件夹。 (不必完成操作。)然后在附加组件的图标上,单击cliget,然后选择curl,然后复制(粘贴)创建的命令。
注意:这些不是“安全”方法,可能不应与敏感内容一起使用
(其他OneDrive文件夹可能仍然安全,但是我不确定。请确认。)
要解压缩,可以使用unzip
命令。
问题提出以来已经过去了一年,但我把这个留给其他人。 :)
编辑:
由于某些原因,对于许多小文件来说,它似乎真的很慢。 (我不确定为什么。)另外(对于OneDrive),似乎只有几个(2-3)GB才可靠...:(