Google云端硬盘初学者使用Colaboratory出现的问题——指定已上传的文件夹

1.将所需文件上传至Google Drive(我的是keras-yolo3-master)

2.新建或上传ipnb文件,并用Colaboratory打开(我这里新建是"授权代码.ipynb")

注:Colaboratory现在已全面支持python2和python3两个版本,新建默认为python2,无GPU加速,点击左上角“修改”——》“笔记本设置”→更改“运行时类型”选择python版本,并在“硬件加速器”中选择是否使用GPU加速。

3.在notebook中运行下方代码进行授权绑定(拷贝如下代码)

# 授权绑定Google Drive
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

注:运行完,过一会儿会要求两次点进链接登陆google账号并完成相关授权,复制授权码,回车即可

出现以下提示,算是完成授权:

4. 指定工作目录

在指定之前先用!ls命令查看一下云端自动分配的默认文件目录,云端默认的文件根目录是datalab

运行下方代码,指定文件根目录:

# 指定Google Drive云端硬盘的根目录,名为drive
!mkdir -p drive
!google-drive-ocamlfuse drive

指定完之后,再用!ls命令查看绑定的文件根目录,根目录变为drive,即咱们使用的云端硬盘:

5. 指定当前工作文件夹(这里我指定的是我上传的文件夹,即keras-yolo3-master)

# 指定当前的工作目录
import os

# 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上
os.chdir("drive/GoogleAI/keras-yolo3-master") 

再次用!ls查看当前的文件目录:

6.运行python文件

!python yolo.py

7. 总结:

需要注意的是,Colaboratory是完全基于云端运行的,每次登陆操作,后台分配的机子都是随机的,所以如果notebook运行需要额外的文件,那么在运行之前都要将文件先上传至Google Drive,然后对Colaboratory指定所需的工作目录。

以下是每次绑定都需要运行的所有代码,现总结如下:

#运行python文件之前需要先安装各种依赖以及进行授权
#看见链接之后,点击它,复制验证码并粘贴到文本框里
#授权完成后,就可以挂载Google Drive了
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}


# 挂载Google driver,指定Google Drive云端硬盘的根目录,名为drive
!mkdir -p drive
!google-drive-ocamlfuse drive


# 指定当前的工作目录
# 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上
import os
os.chdir("drive/GoogleAI/keras-yolo3-master")

# 查看文件目录,是否包含所需的文件
!ls

#运行工作目录下的python文件
!python yolo.py

猜你喜欢

转载自blog.csdn.net/qq_28019591/article/details/81388697
今日推荐