経緯
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')
まとめ
- データセットをGoogle DriveにZIPでアップロードする
- Colab上でGoogle Driveをマウントする
- Colab上にZIPファイルをコピーする
- Colab上でZIPファイルを解凍する
追記
Colabにファイルをアップロードするだけなら次のコードでローカルファイルを選択できます。
ただし、容量が大きなファイルをアップロードしようとするとかなり時間がかかっているように感じます。
本稿のGoogle Drive経由の方が早くアップロードできる気がします。
from google.colab import files
files.upload()