如何正确地将数据从Google云端硬盘导入Google Colab Notebook?

时间:2019-02-10 06:30:44

标签: python import jupyter-notebook google-colaboratory pydrive

我知道这很简单,但是我需要一些指导。

我有一个Jupyter Notebook,我曾经在本地Linux机器上运行它。笔记本具有一些深度学习培训代码,可导入数据集,处理和培训以及相关内容。

在我的本地计算机上,我的数据集位于

'/home/USERNAME/Workspace/Final Year Project/input'

input 文件夹有两个子文件夹 train test 当我在本地计算机上运行笔记本时,笔记本可以完美运行,但是我的系统有一些限制,因此我选择使用Google Colab。

但是我面临的主要问题是如何在Colab中导入相同的数据集?就像我知道可以使用Google云端硬盘来完成操作一样,

当前,我正在使用文件路径将数据集加载到 numpy 数组中

  

如果我将数据集上传到Google云端硬盘,该如何使用该文件路径?

例如,要获取训练数据,我使用以下函数,该函数将文件路径作为参数

# Get training data
def get_X_data(path, output_shape=(None, None)):
    '''
    Loads images from path/{id}/images/{id}.png into a numpy array
    '''
    img_paths = ['{0}/{1}/images/{1}.png'.format(path, id) for id in os.listdir(path)]
    X_data = np.array([skimage.transform.resize(skimage.io.imread(path)[:,:,:3], output_shape=output_shape, mode='constant', preserve_range=True) for path in img_paths], dtype=np.uint8)  #take only 3 channels/bands

    return X_data
X_train = get_X_data(train_path, output_shape=(img_height,img_width))

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

将数据集上传到云端硬盘后,您必须在此处使用此代码

  • 请确保在将此代码块复制到另一个单元之前, 执行您拥有的代码单元
  • 首先在单元格!pip install -U -q PyDrive中运行此代码

然后运行这段代码

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

auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
file_id = 'REPLACE_WITH_YOUR_FILE_ID'
downloaded = drive.CreateFile({'id': file_id})
print('Downloaded content "{}"'.format(downloaded.GetContentString()))

注意::对于Google驱动器中的每个文件,您都有一个file_id,该文件名将获得该文件的 可共享链接 该链接,您将获得一个文件ID。文件ID如下: laggVyWshwcyP6kEI-y_W3P8D26sz

  • 将此file_id替换为代码

答案 1 :(得分:0)

将文件同步到macOS或Window上的云端硬盘的一种简单方法是安装云端硬盘同步客户端- https://www.google.com/drive/download/

然后,在Colab中,您可以使用以下命令安装云端硬盘文件:

from google.colab import drive
drive.mount('/content/drive')

随后,您的文件将出现在路径/content/drive/My Drive和文件浏览器中,如下所示:

enter image description here