GoogleColaboratory
機械学習の強い味方、GoogleColaboratory。
インストールが不要ですぐにPythonなどの機械学習の環境を整えることが出来る。
ローカル環境が整っていない時などに使うとめっちゃ便利。
けど…
ファイルの削除&アップロードが面倒
やや面倒臭いのが、ファイル管理。
デフォルトの機能だと、以下の制限があります。
- フォルダの削除は中が空でないと出来ない
- ファイルの削除は一件ずつ
- ファイルのアップロードも一件ずつ
フォルダ内のファイルを一個一個消して空にしてからフォルダを削除?
100件以上もあるファイルを一件ずつあげる?やってられるか!
プログラムで削除&アップロード
ということで、一括削除&アップロードをプログラムにしてしまえばいいのではと思い至る。
まずは削除。
import shutil
shutil.rmtree('/content/削除フォルダ名')
これで中身ごと一掃できました。
次はアップロード。
ローカルのこの構造をそのままアップロードしたい。
ファイル一つしかアップロードできないのであれば
フォルダごと圧縮→アップロード→解凍とすれば良いのでは。
・ローカルで対象ファイルをフォルダごと圧縮
$ zip 圧縮ファイル名.zip -r 圧縮元フォルダ名/
# Macの場合は余計なファイルが入るので以下を使用
$ zip 圧縮ファイル名.zip -r 圧縮元フォルダ名/ -x "*.DS_Store"
・GoogleColabにアップロード
デフォルト機能でアップロードしてもいいが、コード使うと進捗が確認できるのでおすすめ。
デフォだとファイル名はすぐ反映されるものの、完了したかどうかがよくわからないので…
もちろんファイルが重ければそれだけアップロードに時間かかります。
from google.colab import files
upload = files.upload()
・zipを解凍
!unzip アップロードしたフォルダ.zip
※GoogleColabでコマンド使う時は、先頭に!を必ずつけること
考える
GoogleColabは機械学習においてめちゃくちゃ便利ですが
今回のファイル管理のようにめちゃくちゃ不便な面もあります。
不便だな〜と思いながらそのまま使うか
なんとか便利にできないだろうかと考えるか
そこが成長の分かれ道だなと実感したのでした。