こんにちは!
GoogleColaboratoryはGPUが無料で使えるのでメッチャ重宝します。
しかし、
GoogleColaboratoryはクラウドサービスなのでファイルの扱いには工夫が必要です。
『GoogleColabの圧縮ファイルは、どうやって解凍するんだろう…』
『圧縮しないで、1ファイルづつアップロードは大変だな…』
こんな疑問に答えます。
Googleドライブの圧縮ファイルをGoogleColabで解凍できる
GoogleColabはクラウドサービスなのでファイルの扱いには工夫が必要です。
GoogleドライブではZIPなどの圧縮ファイルを解凍できません。
1ファイルづつアップロードは大変だよ!
Google ColabのOSはLinuxなのでLinuxのコマンドが使用できるんじゃ
Linuxのコマンドを使用して、Googleドライブ上の圧縮ファイル(ZIP)をGoogle Colabにコピーして解凍できます。
Google Colab上でLinuxコマンド実行は、「!」ビックリマーク(Exclamation)を先頭に付与するとコマンドとして認識されます。
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で解凍する手順です。
- Google ColabからGoogleドライブをマウントする
Google ColabからGoogleドライブをマウントします。
Googleドライブをマウントする詳細手順は下記を参照ください。
【超簡単】GoogleColabでGoogleドライブをマウントGoogleColabからファイルを参照する方法として、GoogleColabへ直接アップロードすることもできますが… 『アップロードファイルは一定期間が経過す..... - Googleドライブの圧縮ファイルをGoogle Colabにコピーする
Linuxのcpコマンド(コピー)を使用して、マウントしたGoogoleドライブからGoogle Colabのデフォルトディレクトリにコピーします。
例)犬猫画像のPetImages.zipをGoogleドライブからGoogle Colaboratoryへコピー
!cp "/content/drive/My Drive/PetImages.zip" .
最後のピリオド(.)は何?
意味あるのたろちゃんSEおっさんピリオド(.)は現在のディレクトリという意味じゃ。
カレントディレクトリと言うぞい。
GoogleColabのカレントディレクトリは”/content/”じゃ。
“/content/drive”がマウントしたGoogleドライブとなるぞい。
つまり…
マイドライブのsample_file.txtファイルを
GoogleColabの”/content/”へ
コピーするという意味やね。たろちゃんSEおっさんGoogleColabでランタイムリセットされると、勝手にファイルが削除されちゃった場合も
cpコマンドでGoogleドライブから何度もコピーできるぞい
ふむふむ。なるほどね。たろちゃん【cpコマンドでGoogleドライブのパスを記載時の注意点】
Googleドライブの「My Drive」は「My 」と「Drive」間に空白(半角スペース)が入ってます。コピー元のパス(Path)をダブルクォーテーションで囲まないとエラーになります。
【テキストファイルコピーのメリット】
圧縮ファイル(ZIP)じゃなくて普通のテキストファイル(txt)をColabへコピーしてもメリットがあります。
そのメリットとは…
GoogleColabでPythonから指定するファイルパスを簡略化できる
ということです。
ん!どういうことたろちゃん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” .
- Googleドライブマウント先を指定⇒Pathが長くて面倒くさい
- Google Colabにコピーした圧縮ファイルを解凍する
Linuxのunzipコマンド(解凍)を使用して、Google Colabにコピーした圧縮ファイルを解凍します。
例)Google Colaboratoryの犬猫画像のPetImages.zipを解凍します。
zipファイルを解凍
!unzip PetImages.zip
ZIP形式として圧縮された複数の画像が、カレントディレクトリである「/content」へ展開されます。
SEおっさんzip内にフォルダが存在すればフォルダ構成も展開されるぞい これでようやく、GoogleColabでデータセットとして画像ファイル扱うことができますな
Let’s ディープラーニングぢゃ♪
Googleドライブの圧縮ファイルをGoogleColabで解凍 まとめ!
いかがでしたでしょうか?
Googleドライブの圧縮ファイルをGoogleColabで解凍する手順について解説しました。
ポイントを振り返ってみましょう。
- GoogleドライブではZIPなどの圧縮ファイルを解凍できない
- GoogleドライブではZIPをGoogleColabへコピーして解凍できる
- GoogleColabのコピーして解凍はLinuxコマンドを使用する
- Googleドライブの参照はマウントする必要がある
『そもそもGoogleColabの使い方って何だっけ?』という方は、こちらもどうぞ!
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
- 応用情報技術者
- Oracle Master Gold
- Java SE Gold
- Java EE Webコンポーネントディベロッパ
- Python エンジニア認定データ分析
- 簿記2級