AI

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

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

こんにちは!

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

しかし、

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

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

こんな疑問に答えます。

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



スポンサーリンク

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

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

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

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


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

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

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

Google Colab上でLinuxコマンド実行

Linuxコマンドの先頭に「!」ビックリマーク(Exclamation)を付与

 

試しに…

Google ColabでLinuxのバージョン情報を確認するコマンド「cat /proc/version」をビックリマーク「!」付きで実行してみましょう。

!cat /proc/version
Linux version 5.4.188 …(細かい内容は割愛)

Linux version 5.4.188と表示されてますね(2022年4月時点の表示)

これでGoogle ColabでLinuxコマンドが利用できることが分かりました。

 

本記事で確認したいLinuxのコマンドは、cpコマンド(コピー)とunzip(解凍)コマンドです。

次に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おっさん
ここまで読んでくれてありがとう!

「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪

「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪

LINEでのお問合わせも受付中!
LINE公式アカウント

メッセージをお待ちしています!

取得資格
  • 応用情報技術者
  • Oracle Master Gold
  • Java SE Gold
  • Java EE Webコンポーネントディベロッパ
  • Python エンジニア認定データ分析
  • 簿記2級


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

コメントを残す

*