#はじめに
以前の記事でOpenCVの速さに驚愕し、手持ちのデバイスで試していたのですが、Google ColabotoryでOpenCVが出来る、しかもGPUアクセラレーションつきで、ということでやってみました。
以前の記事
#環境構築
環境構築は@croquette0212さんの記事を参考にしました。
このあと、ランタイムメニューのランタイムのタイプを変更からハードウェアアクセラレータをGPUに変更しておきます。
実験に必要なビットマップをカレントディレクトリにコピーします。
1920 x 1200グレースケール、約230万画素のビットマップファイルです。
自分のマシンからColaboratoryにファイルをコピーする方法は@5at00001040さんの記事を参考にしました。
#実行
以前の記事で使ったコードをコピペして実行します。
以前の記事
3x3近傍の平滑化処理(Blur)を20回連続して行い、かかった時間の平均を表示します。
#1.4ミリ秒!
じゅうぶん速いですが、うーん、どうなんでしょう?
(´^`).。oஇ
以前WindowsでCore-i5@2.6GHzのマシンを使って試した時の2倍以上高速なのですが、M1 MacやiPhoneで試した時よりは遅かったです。
#結論
GPUを使っているといっても、負荷のかかっていない状態で、GPUの能力を100%引き出せているのか、というのが気になります。
あと、GPUへの画像の転送時間と結果画像を戻す時間を検討しないと、GPUにやらせる仕事によってはかえって遅くなる、ということもあるでしょう。
ともあれ、これだけの環境をブラウザ上で、苦労もなく得られるのは素晴らしいことです。手元に非力なマシンしかなくても、ネットの向こうにあるマシンにやらせて、結果をいただくというのは、これからひとつの方向になるのでしょうね。