果報は寝て待て: 初めてのはじめての深層学習プログラミング その5

2018年5月5日土曜日

初めてのはじめての深層学習プログラミング その5

 「はじめての深層学習プログラミング」を買って、自分にもできるのかどうか挑戦中です。

tiny.pyの作成方法です。初心者向け解説書でもそこまでは書いてくれてません。
  UbuntuのFilesを開いて Home/deel/example/のディレクトリを開きます。


 そこのtest.pyを同じ場所にコピーし、tiny.pyとrenameします。
それをダブルクリックしてエディタで開きます。
 この画面で本に書いてある通りに書き換えるのが手っ取り早いと思いました。
それを上書き保存して Home/deel/へ移動またはコピーします。
これで Home/deel/tiny.pyが焼きあがります。

tiny.pyを実行します。

 toruosada@toruosada-VirtualBox:~/deel$ python tiny.py
Loading bvlc_alexnet.caffemodel
Converting from bvlc_alexnet.caffemodel
(u'data', 5)
(u'conv1', 4)
(u'relu1', 18)
(u'norm1', 15)
(u'pool1', 17)
(u'conv2', 4)
(u'relu2', 18)
(u'norm2', 15)
(u'pool2', 17)
(u'conv3', 4)
(u'relu3', 18)
(u'conv4', 4)
(u'relu4', 18)
(u'conv5', 4)
(u'relu5', 18)
(u'pool5', 17)

(u'fc6', 14)
(u'relu6', 18)
(u'drop6', 6)
(u'fc7', 14)
(u'relu7', 18)
(u'drop7', 6)
(u'fc8', 14)
(u'loss', 21)
#1 | loupe, | 22.5%
#2 | hook, | 10.0%
#3 | corkscrew, |  5.2%
#4 | combination |  4.2%
#5 | stethoscope |  4.1%
#6 | buckle |  4.0%
#7 | face |  3.3%
#8 | stopwatch, |  2.5%
#9 | cassette |  2.0%
#10 | analog |  1.4%
#11 | knot |  1.4%
#12 | digital |  1.4%
#13 | chain |  1.2%
#14 | padlock |  1.2%
#15 | muzzle |  1.1%
#16 | magnetic |  1.0%
#17 | lens |  1.0%
#18 | sunglasses, |  0.9%
#19 | whistle |  0.8%
#20 | nail |  0.8%
toruosada@toruosada-VirtualBox:~/deel$ 

本の確率との間にばらつきがありますがそれなりの結果がでました。

次に20ページのプログラムの改造です。今回freePhotoから犬とわかりやすそうな写真を見つけてダウンロードし、 Home/deel/へ置き、dog.jpegとしました。
プログラムの”test.jpg"を”dog.jpeg"と変更しtiny.pyを実行しました。
見せた写真と結果です。
 #1 | German | 61.8%
#2 | Norwegian | 27.3%
#3 | kelpie |  3.8%
#4 | malinois |  1.9%
#5 | Eskimo |  1.6%
#6 | malamute, |  0.7%
#7 | Siberian |  0.7%
#8 | timber |  0.3%
#9 | groenendael |  0.3%
#10 | schipperke |  0.2%
#11 | dingo, |  0.2%
#12 | African |  0.1%
#13 | Cardigan, |  0.1%
#14 | Border |  0.1%
#15 | dhole, |  0.1%
#16 | tennis |  0.1%
#17 | Australian |  0.0%
#18 | Pembroke, |  0.0%
#19 | collie |  0.0%
#20 | white |  0.0%
toruosada@toruosada-VirtualBox:~/deel$

さすがにジャーマンシェパードが一位に来てます。その後も強そうな犬の名前が並びます。
では応用編です。うちのトイプードルが鏡餅の帽子をかぶらされてます。
 #1 | Maltese | 29.3%
#2 | toy | 22.3%
#3 | West | 11.5%
#4 | French |  9.6%
#5 | miniature |  7.1%
#6 | Chihuahua |  7.1%
#7 | cocker |  1.3%
#8 | teddy, |  1.3%
#9 | standard |  0.9%
#10 | Norfolk |  0.8%
#11 | kuvasz |  0.7%
#12 | boxer |  0.6%
#13 | Labrador |  0.5%
#14 | cairn, |  0.5%
#15 | toy |  0.3%
#16 | Shih-Tzu |  0.3%
#17 | seat |  0.3%
#18 | Bedlington |  0.3%
#19 | Pekinese, |  0.2%
#20 | Lhasa, |  0.2%

可愛い犬の名前がズラリと並びます。ほっとしました。
中でも面白いのが#14、日本語でケルンです。鏡餅がAIにはケルンに見えるらしいです。
なかなか楽しませてくれます。
               ケアン - Wikipediaより

 調子に乗ってDEEPな日本をアメリカ生まれのAIに「これなーんだ」します。
 奈良でお馴染みのせんとくんです。
 #1 | knee | 11.4%
#2 | teddy, |  7.5%
#3 | ski |  5.7%
#4 | swing |  5.4%
#5 | horizontal |  4.2%
#6 | parallel |  4.1%
#7 | neck |  3.4%
#8 | wombat |  3.3%
#9 | bonnet, |  3.0%
#10 | swimming |  2.9%
#11 | koala, |  2.2%
#12 | bucket, |  2.1%
#13 | diaper, |  1.7%
#14 | sweatshirt |  1.7%
#15 | cowboy |  1.5%
#16 | stole |  1.5%
#17 | toyshop |  1.2%
#18 | poncho |  1.2%
#19 | hamper |  1.2%
#20 | sarong |  1.2%

膝が気になるらしいです。角は帽子(bonnet)に見えるのかも

信楽町観光協会より
 #1 | toyshop | 61.3%
#2 | saltshaker, |  6.4%
#3 | oil |  5.6%
#4 | breastplate, |  5.6%
#5 | cuirass |  3.8%
#6 | thimble |  1.8%
#7 | piggy |  1.0%
#8 | knee |  0.9%
#9 | shield, |  0.8%
#10 | milk |  0.6%
#11 | football |  0.4%
#12 | go-kart |  0.3%
#13 | mask |  0.3%
#14 | padlock |  0.3%
#15 | motor |  0.3%
#16 | coffeepot |  0.3%
#17 | carousel, |  0.3%
#18 | teapot |  0.3%
#19 | chain |  0.2%
#20 | bubble |  0.2% 

おもちゃ屋に塩入れが並んでるように見えるそうです。



   



0 件のコメント:

コメントを投稿