首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将.npy文件作为numpy数组加载到Google上的虚拟机中

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

Stack Overflow用户
提问于 2018-02-15 06:49:02
回答 1查看 6.1K关注 0票数 3

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 07:20:42

解决了。

首先,执行文档中所述的简单身份验证。

代码语言:javascript
运行
复制
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/./../文件夹/中链接的最后一部分。

代码语言:javascript
运行
复制
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允许您使用的虚拟系统中。

代码语言:javascript
运行
复制
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上运行这个。你应该看看你的档案

代码语言:javascript
运行
复制
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)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48801379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档