2021年3月10日
良い天気だったので、ランチは馬車道のチャコールグリルグリーンへ。ここの肉は肉々しくて良い。THEバーベキュー味。
その後、ぶらぶら散歩をしつつ家に戻る。途中日差しが心地よくてベンチで昼寝をする。春の訪れを感じるなぁ。近くの公園でも梅がシーズン。梅の蕾、丸くて可愛いね。
朝食のイチゴカスタードクリームトースト。ミントはベランダ栽培。
機械学習学習日記 - 37日目
scikit-learnとTensorFlowによる実践機械学習の14章、畳み込みニューラルネットワークを使った深層コンピュータビジョンを読みすすめる。
最近はkeras,TFが主題の話だったけど、やっとNNに戻ってきてCNNの話に。CNNのしくみ、実装はゼロから作るDL本で作ったのでで理解できたけど、この本から読み始めたら解るのかなぁ。
keras で素朴な CNN を作ったり、ResNet-34を作ったり。Xception の学習済みモデルを使って、新たにいくつかの花のクラス分類モデルを作る例があるのだけど、おおーこれが転移学習というやつかと面白い。その後は物体検知やモデルYOLO等々のCNNの応用の話など。毎年のように性能向上があり、セットで最新の論文・実装が出て、まさに日進月歩という感じの分野だ。
これらの良いモデルを使ってなにかする、は簡単にできるのだけど、もうちょっと応用してモデルを組み合わせたり、既存モデルをベースにさらになにかやったり、といったぐらいはできるようになりたいなぁ。
keras での CNN の使い方がわかったので、先日やったDNNのひらがな判定を簡単なCNNにやらせたら、それだけで精度が0.9849から0.9895になる。98.49%が98.95%だからかなりの向上だ。
またCNNでは、CPU(Ryzen 3900)よりGPU(GTX1080)のほうが4-5倍早く、これはGPUが必要になるわけだなぁ。ただ set_memory_growth
が真の環境だと、GPUにメモリが乗らなかった場合、メモリ解放・取得を繰り返すようで、そのため Windows デスクトップ環境を使えないぐらいGPU負荷が高くなることがあるので、適当にVirtualDeviceConfiguration(memory_limit)
を使えるメモリ分セットしたほうが安定する。しかしちょっとでもメモリ使いすぎると死ぬのが悩みどころ。GUI描画しないLinuxでのGPUならメモリフルで使えるから良いのだろうけど。
そして冷やかしに Google Colab の GPU を使ってみると、GTX1080の1.3倍ぐらい速い…。確認すると、Tesla P100(GTX1080と同世代アーキテクチャ)の16GBが割り当てられていた。これが無料で使えるなんて太っ腹。無料アカウントだとGPU利用上限になりやすいようだけど、Colab Pro なら月10$弱でほぼGPUを専有できるようで、ラップトップ環境なら Colab Pro にやらせるのも良い判断だなぁ。