如何将 .npy 文件作为 numpy 数组加载到 Google Colab 上的虚拟机中

How to load a .npy file as a numpy array into the Virtual machine on Google Colab

我有一些数据集和标签,它们基本上是 numpy 保存的扩展名为 .npy 的文件。

我已经在我的 google 驱动器中保存了 train.npy 和 train_labels.npy。

在使用 Google Colab 时,我必须使用该数据。我能够在我的驱动器中找到文件夹和数据文件的 ID。如何将这些数据文件加载到 Google Colab 使用的虚拟机内存中?

解决了。

首先按照文档中的说明进行简单的身份验证

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

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

我创建了一些辅助函数,如果您知道文件在驱动器上的文件名和文件夹 ID,它会获取文件 ID。文件夹 ID 是 drive.google.com/../../folders/

中 link 的最后一部分
def get_file_from_drive(folder_id, file_name):
  file_list = drive.ListFile({'q': "'" + folder_id + "' in parents and 
trashed=false"}).GetList()
  for file in file_list:
    if file['title'] == file_name:
      return file['id']

def upload_file_to_drive(file_name, file_data):
  uploaded = drive.CreateFile({'title': file_name})
  uploaded.SetContentString(file_data)
  uploaded.Upload()
  print('Uploaded file with ID {}'.format(uploaded.get('id')))

drive_folder_id = '<Folder ID>'

此函数将文件从google驱动器上传到colab允许您使用的虚拟系统中。

def upload_data_system():
  downloaded = drive.CreateFile({'id': get_file_from_drive(drive_folder_id, 'train.npy')})
  downloaded.GetContentFile('train.npy') 

  downloaded = drive.CreateFile({'id': get_file_from_drive(drive_folder_id, 'train_labels.npy')})
  downloaded.GetContentFile('train_labels.

upload_data_system()

中提琴!您的文件已上传到文件系统,并且可以像在本地完成的那样使用简单的 python 加载到内存中。为了验证,运行 这个在 colab 上。您应该会看到您的文件

import os
from os import listdir

for f in os.listdir('.'):
  if os.path.isfile(f):
    print(f)

现在将您的 numpy 文件加载为 np.load(path_to_file_in_filesystem)