高橋かずひとのプログラミング、その他、備忘録。

日々調べてたことや、作ってみたものをメモしているブログ。 お決まりの断り文句ですが、このブログに書かれている内容は個人の見解であり、所属する組織の公式見解ではありません。チラ裏。

2値セグメンテーション向けのアノテーションツール自作🦔

タスクの違いとか、やりたいことの違いで、

どんどん自作のアノテーションツールとか変換スクリプトが増えていくのですが、、、

以下のようなツールを作りました👻

 

ソースコードは以下にコミットしています。

github.com

Neural Network Console に再入門しました。その2。MNIST🦔

前回のタイタニックに引き続きMNISTで自動探索を試してみました。

今回実施した内容は以下にコミットしています。

 

100回ほど自動探索を回してみました。


ちなみに、初期設定したモデルは以下のような適当モデルです。

割とMNISTとかで良く見るモデルだと思いますが、今回試してみると正解率は98.95%でパラメータ数は約390万でした。

MNISTの正解率としてはボチボチですが、パラメータ数がMobileNet V2(約350万)より多いのは巨大すぎますねー🤔

f:id:Kazuhito00:20210411224432p:plain

 

100回自動探索を回して、一番精度が高かったモデルは以下です。

正解率は99.38%で、パラメータ数が約140万になりました。

f:id:Kazuhito00:20210411224455p:plain

 構造を眺めてみるとDropoutの後にBatch Normalizationが入っていたり、MaxPoolingのシェイプが正方形でないのが気になりますが、、、

(Dropout→Batch Normalizationの順で併用すると精度低下の可能性があると言われています[1801.05134] Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift

この構造からDropout外してみたり、DropoutとBatch Normalizationの順番を入れ替えてみたりしても元の精度を超えることが出来ませんでした。

自動探索恐るべし🤔?

 

100回自動探索を回して、一番パラメータ数が少なかったモデルも眺めてみます。

以下のような構造で正解率は87.86%、パラメータ数は350でした。

f:id:Kazuhito00:20210411224524p:plain

 入力画像をいきなりAveragePoolingして全結合から出力しています。

これでも正解率が87%出るとは、、、🙄

逆に勉強になる🤔?

 

以上。

Neural Network Console に再入門しました🦔

3年位前に一度触ったきりだったのですが、改めて再入門しました🦔

 

当時はディープラーニングの理解度もイマイチでNeural Network Consoleも正直ちょっと良く分からないところが多かったのですが、、

今はその頃よりチョットワカル状態になり非常に快適に操作できました。

 

むしろ、僕が最近良く作る小さなモデル(キーポイントの分類とかセンサー値の分類)とかだと、Neural Network Consoleは非常に相性が良いです。

簡単にモデルが作れて、自動探索でモデル構造の探索も出来て、ONNXも出力できるので、僕のいくつかの業務を任せられます。

あと、pb形式にもエクスポートできます。

 

ちなみに、以下はモデル学習と構造の自動探索が進んでいる様子です。

f:id:Kazuhito00:20210410184632g:plain

 

 Kaggleのタイタニックで実施してみた結果を以下のリポジトリにコミットしています。

前処理工夫も特徴量生成もしていないNNモデルなので、スコアはまあボチボチです(0.75837)

以上。

単一の手のLocalizationモデルお試し作成中。その3。いったん完了。

以下の手検出ですが、いったん、ソースコードを整理して完了です。

 

モデルの構造はシンプルにEfficientNetやMobileNetをベースに座標情報とクラス分類を行う出力にするようにしました。

f:id:Kazuhito00:20210402011158p:plain

 

EfficientNet-B0、MobileNet v1のそれぞれで訓練したモデルは以下にコミットしています。

 

また、MobileNet v1版をUnity Barracudaで動かした版は以下にコミットしています。


単一の手のLocalizationモデルお試し作成中。その2。

以下の続きです。

Raspberry pi4(num_threadsに2を指定)とUnityでの実行を試しています。

 

Raspberry pi4(num_threadsに2を指定)は以下。

ぼちぼちなのですが、TensorFlow Lite変換後の検出精度がイマイチになったよーな、、、?

 

Unity WebGLビルドで動かしたものと、Unity Editor上で動かしたものです。

WebGL版で約6fps、、、ぎり使えるか、、、🤔?

 

Unityで「ふっかつのじゅもん」的な処理🦔

ふっかつのじゅもん」的なものを実装していました。

特に使用予定はありません🦔

 

ソースコードは以下にコミットしています。

github.com

 

リポジトリのReadMeにも記載していますが、使いやすさを優先して以下のような変換をしています。

データの圧縮やビットを詰め込むような処理はしていないため、結構な文字数になります。

f:id:Kazuhito00:20210326000129p:plain

 

ツイート2年分のWord Cloud👾

TwitterのWord Cloudやってみたいなー。って思っていたのですが、

以下の記事通りにやったら、お手軽にできました🦔

 

fffw2.hateblo.jp

 

本当は昨日やりたかったのですが、

「データのアーカイブをダウンロード」が出来るまで、24時間くらい待ったので今日投稿です。

2018年末に作った技術勉強のアカウントでやってみます🦔

 

毎日のツイート数

f:id:Kazuhito00:20210325204528p:plain

だいたい、こんなもんですかね 🙄 

普通の日は20前後で、オフラインの勉強会があった日は実況するのでツイート数が跳ね上がる感じですね。

2020年は、ほぼオンラインの勉強会のためツイート数が安定しております。

 

2019年

f:id:Kazuhito00:20210325205003p:plain

さすが勉強用アカウントと言うか、、、

面白味が無いな、これは、、、🤔

 「高橋」が入っているのは一人称として使っているからですかね。

「Julia」が入ってますが、そんなに使用していたかしら、、、?

 

2020年

f:id:Kazuhito00:20210325205053p:plain

 ちょっと2019年と違いを探すのが難しいレベルで似通ってますね。

KaggleとかTensorfow系の単語がちょっと増えたかな。。。?

2019年にも2020年にもPINTOさん(@PINTO03091)の名前が入っていますね。

だいたい、僕の勉強とか仕事の参考情報は、PINTOさん(@PINTO03091)、からあげさん(@karaage0703)、shinmuraさん(@shinmura0)はやぶささん(@Cpp_Learning) あたりからバリバリ情報を仕入れている感じです。

 

勉強用のアカウントのため、ある程度想像はしていましたが、

正直面白味の無い結果ですねー、、、🤔

また、2021年末にやってみよう。

 

以上。