FC2カウンター FPGAの部屋 白線間走行畳み込みニューラルネットワーク のアーキテクチャの図を出力した
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

白線間走行畳み込みニューラルネットワーク のアーキテクチャの図を出力した

@yu4u さんの”畳み込みニューラルネットワークをKeras風に定義するとアーキテクチャを図示してくれるツールを作った”を使わせて頂いて、自分の白線間走行畳み込みニューラルネットワーク のアーキテクチャの図を出力する。

まずは、Github の yu4u/convnet-drawer から Clone or download ボタンをクリックして、Download ZIP を選択して、convert-drawer-master.zip ファイルをダウンロードした。

convert-drawer-master.zip ファイルを展開すると、convert-drawer-master フォルダがあったので、それをWindows 10 のドキュメント・フォルダにコピーした。そして、convert-drawer-master フォルダの名前を convert-drawer フォルダに変更した。

まずは、convert-drawer フォルダに入って、AlexNet.svg を Inkscape で見てみた。
CNN_Figure_1_180104.png

凄い。それらしくアーキテクチャ図が表示される。

それじゃ、AlexNet.py をコピーして、curve_tracing_cnn.py に名前を変更し、白線間走行CNN のアーキテクチャに合うように書き換えた。
CNN_Figure_2_180104.png

Windows Powershell を起動して、python .\curve_tracing_cnn.py を実行した。
すると、curve_tracing_cnn.svg ファイルが生成された。
CNN_Figure_3_180104.png

curve_tracing_cnn.svg ファイルを Inkscape で開いた。
CNN_Figure_4_180104.png

かっこよい図ができた。これは良い。使わせて頂こう。だいぶシンプルな畳み込みニューラルネットワークで白線間走行している。

curve_tracing_cnn.py を貼っておく。

# curve_tracing_cnn.py
# 2018/01/04

import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from convnet_drawer import Model, Conv2D, MaxPooling2D, Flatten, Dense


def main():
    model = Model(input_shape=(10, 56, 1))
    model.add(Conv2D(2, (5, 5), (1, 1)))
    model.add(MaxPooling2D((2, 2), strides=(2, 2)))
    model.add(Flatten())
    model.add(Dense(100))
    model.add(Dense(3))
    model.save_fig(os.path.splitext(os.path.basename(__file__))[0] + ".svg")


if __name__ == '__main__':
    main()

  1. 2018年01月04日 12:40 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/4029-9a9a3841
この記事にトラックバックする(FC2ブログユーザー)