FC2カウンター FPGAの部屋 白線追従走行用畳み込みニューラルネットワークの製作9(再度、学習)

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

FPGAの部屋

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

白線追従走行用畳み込みニューラルネットワークの製作9(再度、学習)

白線追従走行用畳み込みニューラルネットワークの製作8(再度トレーニング、ラベル・ファイルの作成)”の続き。

前回、白線追従走行の直進走行用の画像データを取り直して、トレーニング・ファイルとラベル・ファイルを作成した。そのトレーニング・ファイルとラベル・ファイルを使用して、学習してみよう。
なお、前回の学習のブログは、
白線追従走行用畳み込みニューラルネットワークの製作6(学習1)
白線追従走行用畳み込みニューラルネットワークの製作7(学習2)
だ。

まずは、前回生成したトレーニング・ファイル(train_straight_run_image)とラベル・ファイル(train_straight_run_label)を deep-learning-from-scratch\dataset_straight にコピー&ペーストした。以前のトレーニング・ファイルとラベル・ファイルは後ろに _750 を付けて保存しておいた。今回のデータファイルの要素数は 825 だ。
wlt_cnn_47_170821.png

mnist.pkl はトレーニング・データのキャッシュなので、これを削除する。

次に、同じフォルダのstraight_dataset.py の train_num を 750 から 825 に修正した。
wlt_cnn_48_170821.png

jupyter notebook を立ち上げて、DLFS_Chap7_integer.ipynb を起動した。
wlt_cnn_49_170821.png

train_convnet.py を実行して学習を行った。結果を示す。

pool_output_size =2340
train loss:1.09597077527
=== epoch:1, train acc:0.0, test acc:0.0 ===
train loss:1.09763818641
train loss:1.09825520224
train loss:1.09830713311
train loss:1.09483577203
train loss:1.09673085529
train loss:1.09591664135
train loss:1.09249280974
train loss:1.08987641387
train loss:1.08545885042
train loss:1.08117723144
train loss:1.08097061845
train loss:1.06785401247
train loss:1.06847091152
train loss:1.07555744076
train loss:1.04351469112
train loss:1.04435821276
train loss:1.03649227153
train loss:1.02536538003
train loss:1.00731901572
train loss:0.994094999178
train loss:0.973141656596
train loss:0.970560099646
train loss:0.925359858257
train loss:0.922232065606
train loss:0.890463657306
train loss:0.857971776813
train loss:0.808963625972
train loss:0.810114333796
train loss:0.790134792491
train loss:0.75177290901
train loss:0.719148569532
train loss:0.703947163294
train loss:0.733538828557
=== epoch:2, train acc:1.0, test acc:0.97 ===
train loss:0.626812813265
train loss:0.691149885713
train loss:0.652269563466
train loss:0.551628036238
train loss:0.573457780284
train loss:0.555262535477
train loss:0.569233568195
train loss:0.608432180822
train loss:0.576392359819
train loss:0.553962266041
train loss:0.631553098995
train loss:0.541951265715
train loss:0.59235235809
train loss:0.570984798898
train loss:0.618629636193
train loss:0.519372445675
train loss:0.528735330839
train loss:0.484056856152
train loss:0.536815249815
train loss:0.561484523189
train loss:0.623591206274
train loss:0.442553097887
train loss:0.631538407003
train loss:0.543256943224
train loss:0.571884326854
train loss:0.59330093491
train loss:0.543568052814
train loss:0.625170917522
train loss:0.609623989829
train loss:0.626034861444
train loss:0.53018319314
train loss:0.478202730277
train loss:0.519885098008
=== epoch:3, train acc:1.0, test acc:0.79 ===
train loss:0.547483270221
train loss:0.645673557139
train loss:0.522337685379
train loss:0.536177468441
train loss:0.468486580763
train loss:0.515871224274
train loss:0.457075387848
train loss:0.398502113575
train loss:0.547250552889
train loss:0.47266059459
train loss:0.58253528562
train loss:0.563849158638
train loss:0.584245273642
train loss:0.490038949342
train loss:0.575957945909
train loss:0.53032895386
train loss:0.598642706188
train loss:0.51896606919
train loss:0.447935727928
train loss:0.523748197354
train loss:0.630220932465
train loss:0.475171119124
train loss:0.552545002799
train loss:0.418398639435
train loss:0.54651784985
train loss:0.54795133755
train loss:0.484632026785
train loss:0.486523131145
train loss:0.608954877859
train loss:0.52597657247
train loss:0.550768419421
train loss:0.510231459765
train loss:0.514870472085
=== epoch:4, train acc:1.0, test acc:0.86 ===
train loss:0.554327599733
train loss:0.476852300198
train loss:0.528736145907
train loss:0.431610455794
train loss:0.492618692268
train loss:0.523164350434
train loss:0.583515316911
train loss:0.456262940166
train loss:0.385874800448
train loss:0.391292082306
train loss:0.493916291898
train loss:0.469376182458
train loss:0.511861331662
train loss:0.555790656279
train loss:0.552997199476
train loss:0.491419451075
train loss:0.427534856105
train loss:0.462498766512
train loss:0.671785632209
train loss:0.674157815366
train loss:0.508518571047
train loss:0.454157308456
train loss:0.588429704378
train loss:0.539304639676
train loss:0.461259212557
train loss:0.439467592743
train loss:0.486391964423
train loss:0.541361700557
train loss:0.765172284665
train loss:0.557673416383
train loss:0.472034860108
train loss:0.467462631341
train loss:0.473195698334
=== epoch:5, train acc:0.94, test acc:0.63 ===
train loss:0.621301963466
train loss:0.519214259086
train loss:0.592548430631
train loss:0.44266943545
train loss:0.418137479978
train loss:0.458057503538
train loss:0.487746201447
train loss:0.542828607541
train loss:0.412820783943
train loss:0.387734335894
train loss:0.504347603465
train loss:0.372213430157
train loss:0.566137812809
train loss:0.511320738505
train loss:0.372290661458
train loss:0.43099129379
train loss:0.446050407765
train loss:0.580177285636
train loss:0.521574375012
train loss:0.470257839398
train loss:0.358914879585
train loss:0.429000331704
train loss:0.532481848172
train loss:0.487614622413
train loss:0.512510956562
train loss:0.443207619531
train loss:0.453973643453
train loss:0.527084108842
train loss:0.411040275113
train loss:0.514922929244
train loss:0.440648980547
train loss:0.521523873667
=============== Final Test Accuracy ===============
test acc:0.701333333333
Saved Network Parameters!
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-2cecdfeafa8d> in <module>()
     39 markers = {'train': 'o', 'test': 's'}
     40 x = np.arange(max_epochs)
---> 41 plt.plot(x, trainer.train_acc_list, marker='o', label='train', markevery=2)
     42 plt.plot(x, trainer.test_acc_list, marker='s', label='test', markevery=2)
     43 plt.xlabel("epochs")

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\pyplot.py in plot(*args, **kwargs)
   3316                       mplDeprecation)
   3317     try:
-> 3318         ret = ax.plot(*args, **kwargs)
   3319     finally:
   3320         ax._hold = washold

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\__init__.py in inner(ax, *args, **kwargs)
   1889                     warnings.warn(msg % (label_namer, func.__name__),
   1890                                   RuntimeWarning, stacklevel=2)
-> 1891             return func(ax, *args, **kwargs)
   1892         pre_doc = inner.__doc__
   1893         if pre_doc is None:

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py in plot(self, *args, **kwargs)
   1404         kwargs = cbook.normalize_kwargs(kwargs, _alias_map)
   1405 
-> 1406         for line in self._get_lines(*args, **kwargs):
   1407             self.add_line(line)
   1408             lines.append(line)

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\axes\_base.py in _grab_next_args(self, *args, **kwargs)
    405                 return
    406             if len(remaining) <= 3:
--> 407                 for seg in self._plot_args(remaining, kwargs):
    408                     yield seg
    409                 return

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\axes\_base.py in _plot_args(self, tup, kwargs)
    383             x, y = index_of(tup[-1])
    384 
--> 385         x, y = self._xy_from_xy(x, y)
    386 
    387         if self.command == 'plot':

C:\Users\Masaaki\Anaconda3\lib\site-packages\matplotlib\axes\_base.py in _xy_from_xy(self, x, y)
    242         if x.shape[0] != y.shape[0]:
    243             raise ValueError("x and y must have same first dimension, but "
--> 244                              "have shapes {} and {}".format(x.shape, y.shape))
    245         if x.ndim > 2 or y.ndim > 2:
    246             raise ValueError("x and y can be no greater than 2-D, but have "

ValueError: x and y must have same first dimension, but have shapes (20,) and (5,)

In [ ]:


テストデータの精度は70 % で以前のトレーニング・データの時と変化はない。なお、7 回くらい実行して良い結果を取っている。
次は、トレーニング・データやテスト・データを増やしてみようと思う。
  1. 2017年08月21日 05:22 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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