如何下载在 Google Colab 上工作期间创建的动态文件?

数据挖掘 机器学习 神经网络 深度学习 云计算 合作实验室
2021-10-07 12:30:25

我有两个不同的文件,在第一个文件中,我尝试将数据保存到文件中:

np.save(open(Q1_TRAINING_DATA_FILE, 'wb'), q1_data)

在第二个文件上,我尝试使用以下方式以相同的方式加载它:

q1_data = np.load(open(Q1_TRAINING_DATA_FILE, 'rb'))

然后我得到错误:

FileNotFoundError: [Errno 2] No such file or directory: 'q1_train.npy'

我搜索了我的谷歌驱动器,但找不到这个文件。

平台:https ://research.google.com

编辑: 我正在尝试在 Colab 平台上运行 Kaggle 问题。作者有两个文件(Jupyter 和 nbs) - 一个用于准备,第二个用于训练。在 nb1 上创建一些文件的步骤 - 后来被文件 2 使用是我被打动的地方。

https://github.com/bradleypallen/keras-quora-question-pairs/blob/master/quora-question-pairs-training.ipynb

1个回答

根据我所见所闻,最好的方法是从您的驱动器帐户中存储和检索您的数据。实际上你的问题有点不清楚,但首先我说,尝试使用以下命令查看目录中的当前文件,尽管我猜每 12 小时它们都会被自动删除。

!ls

无论如何,我推荐以下说明:

使用以下代码获得访问您的驱动器帐户的权限:

!pip install -U -q PyDrive

import tensorflow as tf
import timeit

config = tf.ConfigProto()
config.gpu_options.allow_growth = True

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

# Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

使用以下代码获取驱动器中内容的 id:

file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
  print('title: %s, id: %s' % (file1['title'], file1['id']))

将所需文件的 id(例如典型的文本文件)放在以下字典的内容中,并带有 id 键:

downloaded = drive.CreateFile({'id': 'the id of typical text file'})
file = downloaded.GetContentString()
print('Downloaded content "{}"'.format(len(file)))

到目前为止,您已经复制了文本文件,然后您必须使用以下代码将其写入 Colab 磁盘:

text_file = open("your desired name.txt", "w")
text_file.write(file)    
text_file.close()

创建并上传文件。

uploaded = drive.CreateFile({'title': 'filename.csv'})
uploaded.SetContentFile('filename.csv')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))

从 Colab 下载而不上传到驱动器

from google.colab import files
files.download('your typical h5 file or what ever.h5')

有关传输不同数据格式的更多信息,请参阅 Colab提供的笔记本中的更多说明。