17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Colab】巨大なデータセットをコピーする方法

Last updated at Posted at 2020-05-27

経緯

PyTorchのDCGANチュートリアルで巨大なデータセット(1GB・22万枚画像くらい)が必要

ローカルのJupyter Labで動かしてみたら学習遅い&メモリ不足

GPUも使えるGoogle Colaboratory(以下Colab)上で学習させてみよう

手を動かしていくうちに問題発生

データセットをColabにどうやってコピーしよう?

問題

  • ColabってGoogle Driveのファイル参照できるの?
  • Colab上でZIPって解凍できるの?

ColabってGoogle Driveのファイル参照できるの?

Google Driveをマウントすることで参照することができます。
ノートブックを新規作成し次のコードを実行する。

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

認証コードを生成するリンクが貼られるのでアクセスする。
アカウント選択でColabを利用しているアカウントを選択する。
Google Drive File Streamがアクセスを求めてくるので許可する。
認証コードが発行されるのでコピーして、貼り付けてエンター。

Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=xxx
Enter your authorization code:

Colab上でZIPって解凍できるの?

Colab上でunzipコマンドが使えます。
まずはGoogle DriveにデータセットのZIPファイルをアップロードし、Colab上にコピーします。

cp "./drive/My Drive/Colab Notebooks/data/celeba/img_align_celeba.zip" "."

後はunzipコマンドを使いColab上で解凍します。

!unzip "img_align_celeba.zip"

解凍した画像を表示してみる

from PIL import Image
Image.open('img_align_celeba/000001.jpg')

image.png
無事表示することができました。

まとめ

  1. データセットをGoogle DriveにZIPでアップロードする
  2. Colab上でGoogle Driveをマウントする
  3. Colab上にZIPファイルをコピーする
  4. Colab上でZIPファイルを解凍する

追記

Colabにファイルをアップロードするだけなら次のコードでローカルファイルを選択できます。
ただし、容量が大きなファイルをアップロードしようとするとかなり時間がかかっているように感じます。
本稿のGoogle Drive経由の方が早くアップロードできる気がします。

from google.colab import files
files.upload()
17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?