果報は寝て待て

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% 

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



   



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

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


必要な事は
 1 Ubuntuのインストール
 2 Gitのインストール
 3 pipのインストール
 4 OpenCVのインストール
 5 CUDAのインストール (現在、ここの途中です)
 6 Chainerのインストール
 7 Deelのインストール
 8 tiny.pyの実行
先ずはここまでを目指します。

 5 CUDAのインストール
   どうしてもうまくいかず、諦めました。
    CUDAは必要性を感じてから再考する事にします。



もう一度最初からやり直します。

まずUbuntuのインストールです。
3通りあります。
 1 Windows上でのサブシステムでUbuntu(Linax)を動かす
  2  WindowsとUbuntuをデュアルブートする
  3  クリーンインストールしてしまう
  
    1 Windows上でのサブシステムでUbuntu(Linax)を動かす
   今度は 仮想環境(VirtualBox)を使用してUbuntuをインストールしてみます。

     特に注意点
              日本語を選ぶと後でコマンドの画面で困るので英語を選ぶ。
     bios上アドバンスでvirtualなんとかをenableにする。
          Ubuntuの64ビット版が表示されない。
     Ubuntuのデスクトップにターミナルを起動する時、 Ctrl+Alt+Tをクリックする。出てきたら、端末アイコンを右クリックしてLauncherに登録」をクリックする。


 6 Chainerのインストール
 7 Deelのインストール
 8 tiny.pyの実行
 ですが、なかなかうまくいきません。
   tiny.pyの実行中のエラーの例です。   
                                         Import Error:cannot import name Function Set
                                         Import Error:No module named protobuf3
                       memory error
                                         Raise EOF Error
                                         Alexnet()が見つからない
   Chainerのインストール中のエラー
              numpyがアンインストールできない
              sixがアンインストールできない



試行錯誤の結果、各プログラムのインストール順とバージョンの関係が大切とわかりました。
最終的にうまくChainerのインストールができた時の順番です。
    ① VirtualBoxを使用 バージョン 5.1.34 r121010 (Qt5.6.2)
    ② Ubuntuをインストール(14.04)
    ③ Gitのインストール
    ④ python2.7のインストール
    ⑤ pipのインストール(1.5.4)
    ⑥ pythonバージョンアップ→(2.7.12)
    ⑦ OpenCVのインストール(最新版はエラーがでるので2.4.10を指定してインストール)
    ⑧ python-devのインストール
    ⑨ Chainerのインストール(1.17.0)
    ⑩ Deelのインストール
    ⑪ tiny.pyの作成
    ⑫ tiny.pyの実行

   
                                               



     

2018年4月7日土曜日

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

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


必要な事は
 1 Ubuntuのインストール
 2 Gitのインストール
 3 pipのインストール
 4 OpenCVのインストール
 5 CUDAのインストール
 6 Chainerのインストール
 7 Deelのインストール
先ずはここまでを目指します。

  5 CUDAのインストール
    CUDAのインストールは次の順に行います。
       ①CUDAドライバーをダウンロードする。
       ②GUIを無効化する。
       ③blacklistを設定する。
       ④ CUDAドライバーをインストールする。

     ①CUDAドライバーをダウンロードする。
       これは書いてある通りにすればできた。
     ②GUIを無効化する。
                     ここからが問題です。
       $ sudo pico /etc/default/grub
        を入力するが、何も表示されない。
        /etc/default/内のファイルを表示させると

        ls /etc/default/
       acpid         console-setup  dbus    halt        locale      networking          pollinate  rsyslog  useradd
       apport        cron           devpts  irqbalance  lxd-bridge  nss                  rcS        ssh
       bsdmainutils  cryptdisks     grub.d  keyboard    mdadm       open-        iscsi  rsync      ufw

       と表示され、grubというファイルは存在していない。 
        調べ倒した結果、etc/default/grub.dのフォルダ内の50-cloudimg-settings.cfgというファイルがあった。
       そのファイルの中を見てみる。
        $ sudo nano /etc/default/grub.d/50-cloudimg-settings.cfg
       その中の 
         GRUB_CMDLINE_LINUX_DEFAULTを
        GRUB_CMDLINE_LINUX_DEFAULT="text”
       と強引に書き換えた。 
        書き換えた後は「reboot」しないと反映されない。
         $ reboot
        Failed to connect to bus: No such file or directory

        しかしどうしても失敗してしまう。
       rootユーザーに切り替えても
          $  sudo -i
         [sudo] password for toruosada:
         root@DESKTOP-LF789D0:~# reboot

          Failed to connect to bus: No such file or directory
         Failed to talk to init daemon.

         だめでした。
         そこで、強制終了「X」してWindowsのメニューからUbuntuを起動させます。

はたしてこれでrebootになるのかな?コマンドプロンプトをたちあげたのと何も変わらないように思います。boot内容がテキスト表示されません。

          ③blacklistを設定する。
          気を取り直してblacklistの設定に進みます。
          Ubuntuに最初から入っているディスプレイドライバを停止させないとCUDAが動作しないそうです。そのため blacklistに指定して止めてしまいます。
          $ sudo cat - > /etc/modprobe.d/blacklist-nouveau.conf
         -bash: /etc/modprobe.d/blacklist-nouveau.conf: Permission denied
          と、うまくいきませんでした。ネットで調べて以下のコマンドを実施し、
          ~$ sudo sh -c "cat << ETX > /etc/modprobe.d/blacklist-nouveau.conf
          > blacklist nouveau
          > blacklist lbm-nouveau
          > options nouveau modeset=0
          > alias nouveau off
          > alias lbm-nouveau off
          > ^C

          とコントロールCで抜けました。  
            nouveau-kms.confの設定も同じようにします。
           $ sudo sh -c "cat << ETX > /etc/modprobe.d/nouveau-kms.conf
          > options nouveau modeset=0
          > ^C

          同じくコントロールCで抜けました。
           Initramfsを更新します。
          $ sudo update-initramfs -u
          [sudo] password for toruosada: 

          相変わらず「reboot」はできません。再起動?します。
          邪魔者は消えたでしょうか。

          ④ CUDAドライバーをインストールする。
           CUDAのインストールにはいく通りかあります。

           1. 直接NVidiaからファイルをダウンロードする 
           2. Ubuntuの公式リポジトリからパッケージとしてインストールする
     
           1. 直接NVidiaからファイルをダウンロードする
            ファイルを指定してダウンロードします。
   
           toruosada@DESKTOP-LF789D0:~$ wget http://jp.download.nvidia.com/XFree86/Linux-x86_64/340.104/NVIDIA-Linux-x86_64-340.104.run

            dkmsパッケージをインストールします。
            $ sudo apt install dkms
            Linax-sourceというのも必要だそうです。
            toruosada@DESKTOP-LF789D0:~$ sudo apt-get install linux-source
             属性を変更して実行しますが・・・
            toruosada@DESKTOP-LF789D0:~$ chmod +x NVIDIA-Linux-x86_64-340.104.run
           toruosada@DESKTOP-LF789D0:~$ sudo ./NVIDIA-Linux-x86_64-340.104.run -a --disable-nouveau

          [sudo] password for toruosada:
          Verifying archive integrity... OK
           Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64                                             340.104.........................................................
           Received signal SIGSEGV; aborting.
どうしてもエラーで止まってしまいます。
           違う方法でやってみます。


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

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


必要な事は
 1 Ubuntuのインストール
 2 Gitのインストール
 3 pipのインストール
 4 OpenCVのインストール
 5 CUDAのインストール
 6 Chainerのインストール
 7 Deelのインストール
先ずはここまでを目指します。

2  Gitのインストール
   「sudo apt-get install git」を打ち込めばインストールしてくれました。

  toruosada@DESKTOP-LF789D0:~$ sudo apt-get install git
[sudo] password for toruosada:
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.7.4-0ubuntu1.2).
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.



3 pipのインストール

    「 sudo apt-get install python-pip python-dev」と打ち込めば良いとのことでしたが、以下のコマンドの入力が必要でした。

     sudo apt-get install software-properties-common
     sudo apt-add-repository universe
             sudo apt-get update
             sudo apt-get install python-pip

  この後、かなりの時間がかかって(一晩ほっときましたので時間はわかりません)コマンド受け付け状態になったのですが、pipはインストールされたのでしょうか?
  pipのヴァージョンを確認するコマンド「 pip -V」を実行します。

どうやらインストールできたようです。

 4 OpenCVのインストール

以下のコマンドを実行します。
      git clone https://github.com/jayrambhia/install-OpenCV.git
      cd install-OpenCV/Ubuntu
      /install-OpenCV/Ubuntu$ ./opencv_latest.sh
途中で聞かれるパスワードは unix usernameのパスワードでした。(Ubuntuのインストール時に設定したやつです。
 インストールが始まったのですが、後半に 大量のエラーが出ました。
再度、上と同じ3行のコマンドを実行しますと今度は成功したようです。
画面表示の最後に
     OpenCV 3.4.1 ready to be used
と表示されて、コマンド受け付け状態になりました。






2018年4月5日木曜日

佐保川の桜

今年も近所の桜を見てきました。一気に咲いてとてもきれいでした。


佐保川に映る「逆さ桜」


一気に満開



照明は、裸電球とか赤っぽい方が雰囲気出ます。






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

「はじめての深層学習プログラミング」を買って、自分にもできるのかどうか挑戦する事にした。
 いきさつ;
  ちょくちょく見ているCQ出版のインターフェイス誌では、結構簡単にdeep learningができそうに書いてあり、やってみようと思った。tenserflowをインストールするまで丁寧に書いてあり、できたのだが、インストールしても何をしてよいのかわからない。
 もっと基礎的なことを勉強しようとして Chainer Playgroundをやってみたけど、あまりに難しいことばかり書いてあり、とてもついていけそうに無い。
 そんな時にネットで「はじめての深層学習プログラミング」を知り、即購入した。

  
1章の深層学習のためのマシン構成
 これでまず引いてしまいます。
 MACやLINAXの名前は知ってますが、身近に又は社内で使ってることが無い。
ましてUbuntuって何者?です。
 メモリも16GBも入ってて今まで十分だったのに、128GB推奨。やっぱ普通のおじさんがぼけ防止にかじってみるのには敷居が高すぎるのかも。
 でも、できるところまで挑戦しようと思います。

必要な事は
 1 Ubuntuのインストール
 2 Gitのインストール
 3 pipのインストール
 4 OpenCVのインストール
 5 CUDAのインストール
 6 Chainerのインストール
 7 Deelのインストール
先ずはここまでを目指します。

まずUbuntuのインストールです。
3通りあります。
 1 Windows上でのサブシステムでUbuntu(Linax)を動かす
  2  WindowsとUbuntuをデュアルブートする
  3  クリーンインストールしてしまう

敷居の低い順にまず 1の方法でやります。正しいのかどうかはわかりません。



マウスを右クリックし 「アプリと機能」の画面にします。



 
「プログラムと機能」をクリックします


「Windowsの機能の有効化または無効化」をクリックします。

 「Windows Subsistem for Linux」にチェックをいれます。

次にUbuntuの入手です。
 Microsoft Storeを検索して表示させ、 さらに「Ubuntu」を検索します。

後はインストールするだけ。

  Installing, this may take a few minutes...
Installation successful!
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: toruosada
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Default UNIX user set to: toruosada
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
これでUbuntuのインストールは成功したようです。


2018年3月9日金曜日

格安USBロジアナをXPで使う

携帯性を持たせるため、格安USBロジアナをXPのノートパソコンで使えるようにした。

ドライバーのインストールまではできたが、PULSEVIEWを起動させると
「MSVCR100.DLL が見つからなかったため、アプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題が解決する場合があります。」
と表示され、立ち上がらない。

その時の対処方法です。
 http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displayLang=ja

へ行きます。
 「ダウンロード」をクリックします。
「NEXT 」をクリックしてダウンロードし
保存します。
   「 vcredist_x86.exe」という名の自己解凍プログラムです。

 それをPULSEVIEWを使いたいXPノートパソコンで展開します。
そのあとは通常の起動方法(前回にやったとおり)でOKです。