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

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

PlantUMLの色変更。いろいろ🦔

ドキュメントの置き換えれる部分をPlantUMLに置き換えていきたいと思っています。

ただ、デフォルトの色使いで使うのあまり好きでないんですよねー。。。🙄

 

と言うわけで以下みたいな色セットをいくつか用意しました🦔

f:id:Kazuhito00:20210501185732p:plain

 

以下にまとめてコミットしています。


Unity DOTweenを用いてプレゼンテーション試作。

Unity BarracudaのテーマでLTをしようと思っていて、

Unity DOTweenを用いてプレゼンテーションするプログラムの試作をしています。

 

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

github.com

マウス選択範囲のスクリーンショットツール👻

フリーソフトを探せばもっと良いものが沢山あるだろうシリーズ。

いや、使い勝手とか大人の事情で車輪の再開発しなきゃいけない状況ってありますよね、、、🙄

まあ、こー言う自分の痒いところに手を届かせるツールを、片っ端から作ってるおかげで生産性保っている案件とかもあるので、、、🦔

 

 

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

github.com

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で動かした版は以下にコミットしています。