オッサンはDesktopが好き

自作PCや機械学習、自転車のことを脈絡無く書きます

機械学習

U-Netで複数種類の傷を検出してみる

複数種類の傷を学習させるために,以前に作ったAutoEncoder*1を拡張します. 複数(=傷の種類)の出力画像を持てるようにネットワーク構造を変えればいいですね. あれこれ調べてみると,今回やりたい事はU-Netと同じであることに気付きました. Semantic Segm…

nvidia-390がインストール出来なくなったので,nvidia-410でDeep Learning開発環境を再構成してみる

Ubuntuがログインループになりました(泣) GPU関係の更新で,互換が取れなくなった様です. Deep Learning関係のライブラリもかなり更新されているようなので,この機(?)に更新することにしました. 症状 きっかけは,「ソフトウェアの更新」のうっかりクリ…

傷有りと傷無しを混ぜてDeep Learningしてみる

DAGMデータセットの傷有り・傷無しを混ぜてDeep Learningしてみます. 画像の割当は下記です. 傷有り 傷無し 学習画像 Class1_def 1-100 Class1 1-900 テスト画像 Class1_def 101-150 Class1 901-1000 前回*1と同様にラベルを伴ったAutoEncoderを使うのです…

Deep Learning: AutoEncoderで傷検出してみる

DAGM画像をAutoEncoderにかけてみます. 内容的には,これ*1とこれ*2をドッキングしただけです. mnistの場合*3と異なるのは,傷がある場所を1,傷が無い場所を0とするラベル画像を使っている事です. # label # trnLABEL = [] tstLABEL = [] # defection da…

mnistでAutoEncoderを試してみる

傷検出がなかなか進展しない*1ので,アプローチを変えることにしました. 傷検出を行う為のアルゴリズムとしては,先日ReNomで試した矩形検出*2か,元々参考にしていた論文*3で採用されているAutoEncoderになると思います. 更にもうひとつ,Segmentationで…

ReNomIMGの傷検出を試してみる

前回セットアップした*1ReNomIMGを使って,傷検出を行います. 1. ReNomTAGでラベル作成 今回もDAGM画像*2を使います. このデータセットには楕円式のパラメタから成るラベルが付いているのですが,今回はReNomの機能を使って手動でラベル付けします. 1. 1 …

ReNomをセットアップしてみる

展示会(AI・人口知能EXPO*1で見たReNomが面白そうだったので,使ってみました. 自前のプログラムも行き詰まってきたので,,,*2 今回は,これらをセットアップします. Google Chrome ReNomDL: Deep Learningの土台部 ReNomTAG: ラベル付けの為のUIツール …

mnistを重み付きラベルで学習してみる

mnistを学習させるとき、通常、 この画像のラベルは下記のようにします Number Label 0 0 1 0 2 1 3 0 4 0 5 0 6 0 7 0 8 0 9 0 これを敢えて、重み付きのラベルで学習させてみます Number Label 0 0.2 1 0.2 2 0.2 3 0.8 4 0.2 5 0.2 6 0.2 7 0.2 8 0.2 9 …

tensorflowで画像をresizeする事のリスク

グラフィックボードの容量の関係で、 Deep Learningに使う画像を圧縮することはよくあると思います tensorflowにも、resize_imageという関数があります 当然のことですが、圧縮すれば画像に含まれる情報が減ります それにどの程度のリスクがあるのか、確かめ…

Deep Learningの計算過程を見える化してみる

Deep Learningの学習モデルが答えを出すメカニズムは、 ブラックボックスと言われます AIが行う判断の理由は、わからないというわけですね とは言え、ニューラルネットワークは、紐解けば、 重みとバイアスから構成されるパラメタを使った行列計算です その…

Deep Learningによる傷位置検出、学習効果の確認

前回構築した*1損失関数で傷位置検出ができるか、 確かめてみます 先ず、損失値と評価値を出力します def write_log(msg): os.makedirs('./log', exist_ok=True) file = open('./log/trainingLog.txt', mode='a') file.write(msg + '\n') file.close() tenso…

Deep Learningによる傷位置検出、損失関数

こういうの↓を作ってみようと思います *1 mnist問題をやっと動かせるようになったレベルの僕には 敷居が高そうですが、、、 画像のダウンロード 上記の画像は10年位前に行われたコンペティションで使われたもので、 ここ*2からダウンロード出来ます コンペは…

mnistのjpeg画像をtensorflowに入力する、Part 03

いよいよ、実際に学習してみます 主要部のソースです バッチ用に乱数を生成し、インデックスが合致する画像を読んでいます # Batch components validationImages = np.zeros((VALID_DATA_SIZE, IMG_SIZE*IMG_SIZE)) validationLabels = np.zeros((VALID_DATA…

mnistのjpeg画像をtensorflowに入力する、Part 02

前回に↓に引き続いて、画像をtensorflowの学習モデルに入力してみます mnistのjpeg画像をtensorflowに入力する、Part 01 - オッサンはDesktopが好き 今回は、画像データを学習に適した形式(要はテンソル)に構成します。 下記のように並べてファイル出力する…

mnistのjpeg画像をtensorflowに入力する、Part 01

tensorflow、なかなか難しいですね 学習が思うようにいかないときのデバッグにとても苦労します モデルの構造が悪いのか、 データのマインディングの仕方がまずいのか、 そもそもデータの読み込みにバグがあるのか、、、 tensorflowのplacefolderはC言語ベー…