AI

Googleドライブの圧縮ファイルをGoogleColabで解凍

  • このエントリーをはてなブックマークに追加
  • LINEで送る

こんにちは!

GoogleColaboratoryはGPUが無料で使えるのでメッチャ重宝します。

しかし、

GoogleColaboratoryはクラウドサービスなのでファイルの扱いには工夫が必要です。

『GoogleColabの圧縮ファイルは、どうやって解凍するんだろう…』
『圧縮しないで、1ファイルづつアップロードは大変だな…』

このような疑問に答えます。


SEおっさん
SEおっさん
SE歴20年のオッサンが詳しく解説するぞい!

※保有資格:OracleMasterGold/JavaWebコンポーネントディベロッパ/応用情報技術者/簿記2級

Googleドライブの圧縮ファイルをGoogleColabで解凍できる

GoogleColabはクラウドサービスなのでファイルの扱いには工夫が必要です。

GoogleドライブではZIPなどの圧縮ファイルを解凍できません。

え~、じゃぁどうするの?
1ファイルづつアップロードは大変だよ!


SEおっさん
SEおっさん
Google Colabで圧縮ファイルを解凍するんじゃよ!
Google ColabのOSはLinuxなのでLinuxのコマンドが使用できるんじゃ

Linuxのコマンドを使用して、Googleドライブ上の圧縮ファイル(ZIP)をGoogle Colabにコピーして解凍することができます。

Google Colab上でLinuxコマンド実行は、「!」ビックリマーク(Exclamation)を先頭に付与するとコマンドとして認識されます。

使用するLinuxのコマンドは、cpコマンド(コピー)とunzip(解凍)コマンドです。

ちなみに…
Google Colabでバージョン情報を確認するコマンド「cat /proc/version」や「uname -a」を実行すると
Linux version 4.19と表示されました(2020年8月時点)
だから、Google ColabでLinuxコマンドが利用できるんですね。

次にGoogleドライブの圧縮ファイルをGoogle Colabにコピーして解凍する具体的な手順を説明します。

Googleドライブの圧縮ファイルをGoogleColabで解凍する手順

Googleドライブの圧縮ファイルをGoogleColabで解凍する手順です。

  1. Google ColabからGoogleドライブをマウントする

    Google ColabからGoogleドライブをマウントします。

    Googleドライブをマウントする詳細手順は下記を参照ください。

    【超簡単】GoogleColabでGoogleドライブをマウント
    【超簡単】GoogleColabでGoogleドライブをマウント
    GoogleColabからファイルを参照する方法として、GoogleColabへ直接アップロードすることもできますが… 『アップロードファイルは一定期間が経過す.....
  2. Googleドライブの圧縮ファイルをGoogle Colabにコピーする

    Linuxのcpコマンド(コピー)を使用して、マウントしたGoogoleドライブからGoogle Colabのデフォルトディレクトリにコピーします。

    例)犬猫画像のPetImages.zipをGoogleドライブからGoogle Colaboratoryへコピー

    !cp "/content/drive/My Drive/PetImages.zip" .
    最後のピリオド(.)は何?
    意味あるの
    たろちゃん
    たろちゃん
    SEおっさん
    SEおっさん
    ピリオド(.)は現在のディレクトリという意味じゃ。
    カレントディレクトリと言うぞい。
    GoogleColabのカレントディレクトリは”/content/”じゃ。
    “/content/drive”がマウントしたGoogleドライブとなるぞい。
    つまり…
    マイドライブのsample_file.txtファイルを
    GoogleColabの”/content/”へ
    コピーするという意味やね。
    たろちゃん
    たろちゃん
    SEおっさん
    SEおっさん
    GoogleColabでランタイムリセットされると、勝手にファイルが削除されちゃった場合も
    cpコマンドでGoogleドライブから何度もコピーできるぞい
    ふむふむ。なるほどね。
    たろちゃん
    たろちゃん

    【cpコマンドでGoogleドライブのパスを記載時の注意点】

    Googleドライブの「My Drive」は「My 」と「Drive」間に空白(半角スペース)が入ってます。コピー元のパス(Path)をダブルクォーテーションで囲まないとエラーになります。

    【テキストファイルコピーのメリット】

    圧縮ファイル(ZIP)じゃなくて普通のテキストファイル(txt)をColabへコピーしてもメリットがあります。

    そのメリットとは…

    GoogleColabでPythonから指定するファイルパスを簡略化できる

    ということです。

    ん!どういうこと
    たろちゃん
    たろちゃん

    SEおっさん
    SEおっさん
    要するに
    Pythonで「/content/drive/My Drive」とイチイチ指定しなくて済むということじゃ。
    Pythonコードが、Googleドライブのフォルダ構成に依存しないのでシンプルになるぞい。

    • Googleドライブマウント先を指定⇒Pathが長くて面倒くさい
      例)/content/drive/My Drive/Sanple_file.txt
    • GoogleColabデフォルトフォルダの指定⇒とてもシンプル
      例)Sanple_file.txt
      ↑Googleドライブのsample_file.txtをGoogle Colabへコピー
       !cp “/content/drive/My Drive/sample_file.txt” .
  3. Google Colabにコピーした圧縮ファイルを解凍する

    Linuxのunzipコマンド(解凍)を使用して、Google Colabにコピーした圧縮ファイルを解凍します。

    例)Google Colaboratoryの犬猫画像のPetImages.zipを解凍します。

    zipファイルを解凍

    !unzip PetImages.zip

    ZIP形式として圧縮された複数の画像が、カレントディレクトリである「/content」へ展開されます。

    SEおっさん
    SEおっさん
    zip内にフォルダが存在すればフォルダ構成も展開されるぞい これでようやく、GoogleColabでデータセットとして画像ファイル扱うことができますな
    Let’s ディープラーニングぢゃ♪


スポンサーリンク

Googleドライブの圧縮ファイルをGoogleColabで解凍 まとめ!

いかがでしたでしょうか?

Googleドライブの圧縮ファイルをGoogleColabで解凍する手順について解説しました。

ポイントを振り返ってみましょう。

ポイントまとめ
  • GoogleドライブではZIPなどの圧縮ファイルを解凍できない
  • GoogleドライブではZIPをGoogleColabへコピーして解凍できる
  • GoogleColabのコピーして解凍はLinuxコマンドを使用する
  • Googleドライブの参照はマウントする必要がある

『そもそもGoogleColabの使い方って何だっけ?』という方は、こちらもどうぞ!

やさしいGoogleColaboratoryの使い方【5つの基本】
やさしいGoogleColaboratoryの使い方【5つの基本】
こんにちは! 社内でAI技術力がある奴と思われたら… イチモク置かれる存在となるので、降格や左遷のブラックリストに載りにくいですよね。 (もちろん、昇格するチャ.....

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!




スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*