マルチモーダルコンペティション!Ridgelinezとの共同開催です
goukaisei
雑談してコンペを盛り上げよう。
なんで、こんなに参加者が増えないんでしょうか。。。
もう一つの米国株価予測コンペ終わったので、少しは参加者増えるかとは思いますね。 個人的には、マルチモーダルコンペは初めてなので、参加者増えて盛り上がると良いですね!
もう一つコンペやってましたもんね。私もマルチモーダルやったことなかったんで参加してみました!なかなかないですよね。
雑談と言うことで、、、
ColabとGoogle Driveを連携させる環境を使おうと思っているのですが、 今回の画像のような多く(注)のファイルがzipされている場合の扱い方の ベストプラクティスを知りたいです。 (注)1枚辺り10KB程度のJPGファイル9万枚程度をzipしたファイル(圧縮時950MB程度、解凍時1GB程度)
手元で試したのは、 (1)Probspaceからzipファイルをダウンロードして、手元のPCで解凍、解凍された全ファイルを含むフォルダ毎Google Driveにアップロード ⇒何分時間がかかるかすら表示されず、しばらく待ってもアップロード開始が確認できなかったので、キャンセル
(2)Probspaceからダウンロードして、Google Driveにアップロード、Google Drive上で 「アプリで開く」から適切なアプリで解凍 ⇒(私の環境で)アップロードに27分と表示され(恐らくその位の時間で?)アップロードは完了。 解凍も進んでいるが、1分で50枚程度となっており、恐らく1日以上かかる見込みだが、解凍は恐らくできそう。 と言う状態で、何かベストプラクティスがないかと思っています。
以下は試してないですが、 (3)Google Driveにはzipであげておいて、Colab上でunzipする(実はこっちが早かったりしますかね?)
-- 画像をスコア向上にどう扱えるかは別途、雑談したいところですが、まずはその前の段階です。
前に画像コンペやってたときは(3)でやってました。
他に比べて圧倒的に速いですよ!
回答ありがとうございます。やってみます。
解凍するのは (3) や 使えるなら unzip コマンドがよさそうですよね!ただ、colab 上は画像の読み込みがびっくりするほど遅いです。。。どなたか高速化する方法を教えてほしいです。。。
yshr10icさん コメントありがとうございました。私のColab Proの環境で、(3)を試した所、9分程度で9万ファイルは解凍されました。この時間で1回切り(計2回)の作業ですので問題等ないと思います。 Google Driveに全てのファイルが問題なく解凍されたのかを確認するのは難しいと思うのですが、ファイル数は手元のパソコンで解凍した91819個と同じでしたのでとりあえずは良しとしたいと思います。
goukaiseiさん はい、次の課題だと思っています。 とりあえずは、手元のパソコンで画像を眺めながら、少し方針を考えてみようと思っていますが、その辺りはまた別の雑談で。
ごめんなさい。(3)について勘違いしていました。
Google Driveにzipで上げておいて、Colabのローカルにそのzipファイルをコピーし、そこでunzipするのが良いと思います。Colabのローカルに毎回コピーすることにはなりますが、プログラムからGoogle Driveの画像を読み込むのは非常に遅いので、Colabのローカルから読み取る方が段違いに速くなります。画像が少ない場合にはGoogle Driveから直接読み込むでも問題ないと思いますが、今回のように数千〜数万枚の画像があるならColabのローカルから読み取る方が良いです。
こちらのサイト参考になると思います。
https://kenko-keep.com/colab-cp-unzip/
回答ありがとうございます。(ちょっと買い物行ってきたあと)やってみますw
読み込んだあと、どういう風に(ndarray等)扱うかも考えないといけないですよね
yshr10ic さん、ありがとうございます! なるほど、colab ローカルだと早くなるんですね。 pickle や hdf5 化しようとしていたんですが、いろいろ面倒だったので教えていただいた方法にしようと思います。
と言う訳で、ベストプラクティスは (4)Google Driveにzipをアップロードし、Colabにコピーして、Colab上で解凍する と認識しました。
教えて頂いたサイトの通りですが、Colabで、 !cp "/content/drive/My Drive/<フォルダのパス>/test_images.zip" . !unzip test_images.zip で、Colab上に解凍ができ、
print(len(os.listdir("test_images")) 等で、91819が表示されればファイル数のチェックはOKだと思います(trainの場合は91029)
上記、全部で23秒で終了しました。 ⇒Colab上画像ファイルは永続化されない(=どこかのタイミングで消える)のだと思いますが、これであれば都度、読み込めば良いのかと。
さて、次はこの画像をどう使うか考えてみます。
と、書いたのですが、結局、まったく使う事ができませんでした。 うまく使えてスコアアップに役立った人がいるのかは気になったのですが。。。
この年末年始休暇に集中して挑戦するコンペとしてこちらを選択致しました。 普段はテーブルデータしか扱っていないので自然言語処理に画像処理とどこまで戦えるか不安ですが、楽しみながら勉強したいと思います。 よろしくお願いします!
よろしくお願いします~!お互い頑張りましょう!