我知道这很简单,但是我需要一些指导。
我有一个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))
任何帮助将不胜感激。谢谢。
答案 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 。
答案 1 :(得分:0)
将文件同步到macOS或Window上的云端硬盘的一种简单方法是安装云端硬盘同步客户端- https://www.google.com/drive/download/
然后,在Colab中,您可以使用以下命令安装云端硬盘文件:
from google.colab import drive
drive.mount('/content/drive')
随后,您的文件将出现在路径/content/drive/My Drive
和文件浏览器中,如下所示: