Google Driveをマウントする
Colab上で以下を実行。/content/drive
というディレクトリに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 from oauth2client.client import GoogleCredentials import getpass auth.authenticate_user() creds = GoogleCredentials.get_application_default() !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} !mkdir -p drive !google-drive-ocamlfuse drive
Google Driveにアップロードする
xxxxx.zip
のようにzipで圧縮してGoogle Driveに普通にアップロードする。
Google DriveからGoogle Colaboratoryにファイルを移動し展開
Colab上で以下を実行。/content/data
というディレクトリに大量データが展開される。
!mkdir /content/data !unzip /content/drive/train.zip -d /content/data > /dev/null 2>&1 &
ポイントは、> /dev/null 2>&1 &
で、標準出力を捨てているところだ。
そうしないと、unzipで大量データを展開したときに大量の標準出力が表示されてしまい、Chromeがクラッシュして落ちてしまうことがある。
解凍後のファイル数を確認するには以下を実行する。
!echo /content/data/train/* | xargs ls | wc
出力例。27308個のファイルが展開されていることがわかる。
27308 27308 1119628
以上、本日は「Google Colaboratory に大量データをアップロードする方法」を紹介しました。 良い記事だと思っていただいた方は下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリックをお願いします! それではまたー