Google Colaboratoryの便利な使い方

Google DriveとGoogle Colaboratoryを連携して便利に使う方法を紹介
Google Colaboratory とは
Google Colaboratory(以下Colab)は、主に機械学習(AI)の教育・研究用に、ブラウザ上でプログラムを実行できるというサービスです。詳しくは「Colaboratory へようこそ」に書いてあります。
なにやら難しそうですが、Google ColabはGoogleアカウントを持っていれば誰でも無料(有料版もある)で利用可能なサービスですので、この記事ではコードをコピペするだけで使える、ちょっと便利な使い方を紹介したいと思います。
なにが便利かって、自分のPCのリソースを消費しない、ネットの帯域を使わないってことが一番ですね。すべてはGoogleのサーバー側でやってくれるので、プログラム実行中も自分のPCは好きな事に使っていられます。
ただし、あまりにも変な使い方をして、Googleに怒られないよう注意です。
Google Colabの基本的な仕様
Google Colabは無料で利用できるかわりに制限があります。
90分間なにもしないと自動的に接続が切れる
12時間連続使用で強制的に終了
まあ、この記事で紹介している程度のことでは、制限に触れることはまずないと思います。
詳しくはこちら:Colaboratory FAQ
Google Colabの始め方
ColabではGoogle Driveを接続することで、Google Driveのファイルを操作できます。初めて利用する方は、まずはGoogle Driveを接続しましょう。
1. ノートブックを新規作成
Colabにログインします。
こんなページが開くので、「ノートブックを新規作成」をクリックします。
新しいノートが作られました。このノートはマイドライブに保存されます。
右上の「接続」をクリック。
RAMとディスク容量が表示されたら接続完了です。
続いてGoogle Driveを接続しましょう。
2. Google Driveの接続方法
左側の「ファイル」アイコンをクリックします。
「Google Drive」のアイコンをクリック。
「GOOGLE ドライブに接続」をクリック。
自分のアカウントを選択。
ファイルツリーに「drive」が表示されたら完了です。これでColabからGoogle Driveのファイルにアクセスできます。
3. コードの実行方法
画像の位置にコードを書いて、実行ボタンを押すだけです。
4. パスの取得方法
ファイルやフォルダのパスがわからない場合、左側のファイルツリーから目的のファイルを探して右クリック、「パスをコピー」で簡単に取得できます。
Google DriveのファイルをColabから操作する
ここからが本題です。
以下のコードは、Colabにコピペして実行するだけで簡単に使えます(URLやパスは適宜書き換えて使ってください)。
・ZIPの中のファイルを一覧表示する
マイドライブのexample.zip
の中のファイルを一覧表示します(展開はされない)
!unzip -l "/content/drive/MyDrive/example.zip"
・ZIPを展開する
マイドライブのexample.zip
をtest
というフォルダの中に展開
!unzip "/content/drive/MyDrive/example.zip" -d "/content/drive/MyDrive/test"
・ZIPに圧縮する
マイドライブのtest
というフォルダを圧縮しexmple.zip
という名前で保存
!cd "/content/drive/MyDrive/" && zip "example.zip" -r "test"
・7Zの中のファイルを一覧表示する
マイドライブのexample.7z
の中のファイルを一覧表示します(展開はされない)
!7z l "/content/drive/MyDrive/example.7z"
・7Zを展開する
マイドライブのexample.7z
をtest
というフォルダの中に展開
!7z x "/content/drive/MyDrive/example.7z" -o"/content/drive/MyDrive/test"
・7Zに圧縮する
マイドライブのtest
というフォルダを圧縮しexample.7z
という名前で保存(-mx=9 で最大圧縮設定)
!7z a -mx=9 "/content/drive/MyDrive/example.7z" "/content/drive/MyDrive/test"
その他の7zコマンドオプション
オプション例 | 内容 |
---|---|
-v100m | 100MBで分割 |
-v1g | 1GBで分割 |
-p"PassWord" | 暗号化 |
-mhe=on -p"PassWord" | ファイル名も暗号化 |
-mem=AES256 -p"PassWord" | zip形式で暗号化する時のみ有効 |
7zコマンドを使って「zip形式で暗号化・100MBに分割圧縮する」なら下のような感じにすると、example.zip.001
、example.zip.002
…とファイルが出力される。
!7z a -v100m -mem=AES256 -p"PassWord" "/content/drive/MyDrive/example.zip" "/content/drive/MyDrive/test"
・RARをインストールする
RAR形式のファイルを扱うには、まずColabにRARをインストールする必要があります。以下のコードをコピペして実行するだけです。
!apt-get install rar
RARをインストールしたら以下のコードを実行できます。
・RARの中のファイルを一覧表示する
マイドライブのexample.rar
の中のファイルを一覧表示します(展開はされない)
!rar l[t[a],b] "/content/drive/MyDrive/example.rar"
・RARを展開する
マイドライブのexample.rar
をtest
というフォルダの中に展開
!rar x "/content/drive/MyDrive/example.rar" "/content/drive/MyDrive/test"
・RARに圧縮する
マイドライブのtest
というフォルダを最高圧縮・リカバリーレコード3%付きで圧縮
!rar a -ep1 -m5 -rr3 "/content/drive/MyDrive/example.rar" "/content/drive/MyDrive/test"
その他のrarコマンドオプション
オプション例 | 内容 |
---|---|
-v100m | 100MBで分割 |
-v1g | 1GBで分割 |
-p"PassWord" | 暗号化(ファイル名は暗号化されない) |
-hp"PassWord" | ファイル名も暗号化 |
・URLを指定してGoogle Driveにダウンロードする
URLからGoogle Driveに直接保存することができます。
「ローカルにDL→GDにUP」という手間を省けるので便利。
マイドライブのdownload
フォルダにダウンロード
!wget -P "/content/drive/MyDrive/download" "https://DownloadURL"
名前を付けて保存する場合
!wget -O "/content/drive/MyDrive/download/FileName.zip" "https://DownloadURL"
・URLを連番指定してGoogle Driveに一括ダウンロードする
URLの連番の部分を{000..100}
のように書く。数字の間はピリオド2つ。
例えば以下のようにすると、マイドライブのdownload
フォルダに、010.jpg
,011.jpg
,012.jpg
,013.jpg
がダウンロードされる。
!wget -P "/content/drive/MyDrive/download" "https://DownloadURL.com/{010..013}.jpg"
・URLリストを作ってGoogle Driveに一括ダウンロードする
事前にメモ帳などでダウンロードしたいURLを書いて、Google Driveにアップロードする必要があります。
マイドライブのDLList.txt
に記述したURLをすべてdownload
フォルダにダウンロードする。
!wget -P "/content/drive/MyDrive/download" -i "/content/drive/MyDrive/DLList.txt"
DLList.txt
には下記のように1行につき1つずつURLを書く
https://example.com/001.jpg
https://example.com/002.jpg
https://example.com/003.jpg
https://example.com/DownloadURL.zip
・aria2をインストールする
wgetより速くダウンロードできるかもしれない。
aria2についてはこちら
!apt-get install aria2
・aria2でURLを指定してGoogle Driveにダウンロードする
4分割でダウンロード
!aria2c -x4 -d "/content/drive/MyDrive/download" "https://DownloadURL"
・aria2でURLリストからGoogle Driveに一括ダウンロードする
URLリストの書き方はwgetと同じです。
!aria2c -x4 -d "/content/drive/MyDrive/download" -i "/content/drive/MyDrive/DLList.txt"
・TorrentファイルからGoogle Driveにダウンロードする
!aria2c -d "/content/drive/MyDrive/download" "https://example.com/example.torrent"
・MagnetリンクからGoogle Driveにダウンロードする
!aria2c -d "/content/drive/MyDrive/download" "magnet:?xt=..."
とりあえずこんなところです。
他にも利用方法はあるので、その辺は別の記事で書きたいと思います。
以上
関連記事:
コメント
※コメントは管理人の承認後に反映されます。