LoginSignup
3
3

More than 1 year has passed since last update.

GoogleColabのアップロードと削除を楽にする

Last updated at Posted at 2022-08-23

GoogleColaboratory

機械学習の強い味方、GoogleColaboratory。
インストールが不要ですぐにPythonなどの機械学習の環境を整えることが出来る。
ローカル環境が整っていない時などに使うとめっちゃ便利。
けど…

ファイルの削除&アップロードが面倒

やや面倒臭いのが、ファイル管理。
デフォルトの機能だと、以下の制限があります。

  1. フォルダの削除は中が空でないと出来ない
  2. ファイルの削除は一件ずつ
  3. ファイルのアップロードも一件ずつ

フォルダ内のファイルを一個一個消して空にしてからフォルダを削除?
100件以上もあるファイルを一件ずつあげる?やってられるか!

プログラムで削除&アップロード

ということで、一括削除&アップロードをプログラムにしてしまえばいいのではと思い至る。
まずは削除。

GoogleColab:フォルダ削除
import shutil
shutil.rmtree('/content/削除フォルダ名') 

これで中身ごと一掃できました。
次はアップロード。
ローカルのこの構造をそのままアップロードしたい。
local
ファイル一つしかアップロードできないのであれば
フォルダごと圧縮→アップロード→解凍とすれば良いのでは。

・ローカルで対象ファイルをフォルダごと圧縮

local:フォルダ圧縮
$ zip 圧縮ファイル名.zip -r 圧縮元フォルダ名/

# Macの場合は余計なファイルが入るので以下を使用
$ zip 圧縮ファイル名.zip -r 圧縮元フォルダ名/ -x "*.DS_Store"

・GoogleColabにアップロード
デフォルト機能でアップロードしてもいいが、コード使うと進捗が確認できるのでおすすめ。
デフォだとファイル名はすぐ反映されるものの、完了したかどうかがよくわからないので…
もちろんファイルが重ければそれだけアップロードに時間かかります。

GoogleColab:ファイルアップロード
from google.colab import files
upload = files.upload()

・zipを解凍

GoogleColab:zip解凍
!unzip アップロードしたフォルダ.zip

※GoogleColabでコマンド使う時は、先頭に!を必ずつけること

!できました!
local

考える

GoogleColabは機械学習においてめちゃくちゃ便利ですが
今回のファイル管理のようにめちゃくちゃ不便な面もあります。
不便だな〜と思いながらそのまま使うか
なんとか便利にできないだろうかと考えるか
そこが成長の分かれ道だなと実感したのでした。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3