読者です 読者をやめる 読者になる 読者になる

Interface 2017年3月号のTensorFlow による機械学習入門がいい感じ(もうすぐ次の号が出るけど)

あくまでも独断と偏見ですが。

TensorFlowで機械学習を始めるにはイメージがしやすい内容に仕上がってると思う。

理論とか数学的な詳細はスルーして、とりあえず動かしてみる、という場合には最適。

理論とかそっちは後でオライリーasin:4873117585:titile]を読めばいいと思う*1

紙媒体ではなくPDFを購入しました。

Interface 2017年3月号 ラズパイにON!Google人工知能/Google人工知能 TensorFlow初体験ガイド【PDF版】 | Tech Village 書庫&販売 - エレクトロニクス分野の電子書籍販売サイト / CQ出版株式会社


残念ながらこのPDF、パスワードロックがかかっていてテキストがコピーできないようです。

電子版と紙媒体版、同じ価格にする必要はないと思うんですがどうなんでしょう*2

トラ技と違って基板の類はついてこないのでどんどん電子化してもらって問題ないはず。

概要など

第1特集がTensorFlowを使ったキュウリの等級判定。

第2特集がJupyter Notebook とDocker による TensorFlow のセットアップと基礎。

第1特集

まずキュウリは長さとか曲がり具合などにより等級が存在し、出荷時に農家が手作業で仕分けしているとのこと*3

まず手作業で分類したキュウリに対して上下と横から見た状態の三方向から撮影して画像を用意。
この画像をグレイスケール化するなど加工したうえでニューラルネットワークをトレーニングさせて、その学習データを使ってノートパソコン上で判定処理を実行。

その後同じ判定処理をラズパイ、Google Cloud MachineLearningで実行させるまでの一部始終。

TensorFlow のチュートリアルを実行して終わりではなくて、改造した上でUIとサーボーモーター制御のサンプルを追加している。

以下、ちょっとした疑問と改善案。

  • きゅうりが撮影台に載っているかどうかを人工知能にさせなくても、普通にOpenCVの物体検出(動態検出)で良いのでは
  • 実際の仕分け現場では精度が8割まで低下したとのことで、原因として周囲の環境光が挙げられていた。周囲の環境光が原因だとするなら、撮影台に外部からの光を遮るようなシャッターのようなものを取り付ければいいのでは

第2特集

TensorFlow とJupyter Notebook のセットアップ済みのDocker イメージででTensorFlowセットアップして遊んでみようという記事。

Window 、MacLinuxの各環境向けのPythonのセットアップ手順から解説されている。

Docker for Mac で実行してみたがちゃんと動作した。

Python はインストール済みであるものとして、Docker for Mac ( or Windows ) をインストールして下記のコマンドを実行。

$ docker run -it -p 8888:8888 -p 6006:6006 --name tf gcr.io/tensorflow/tensorflow /bin/bash

ダウンロード完了後、自動的にシェルが起動する。

初期状態でNotebookAppという名称のディレクトリにいるのでそのままJupyter Notebookを起動する。

# jupyter notebook

コンソールに下記のメッセージとともにURLが表示されるのでブラウザのアドレスバー*4コピーアンドペースト

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:

初回だけアクセストークン付きの長いURL。2回目以降はhttp://localhost:8888OK

ブラウザから接続すると特集記事のサンプルを動かせる。

[f:id:atuyosi:20170222024118p:plain]

特集記事の本文にある通り、一度コンテナを停止させた後で再度実行する場合はdocker startコマンドでコンテナを指定して実行する。

$ docker start -I tf


停止時はdocker stopを使う*5

$ docker stop tf

Docker の概要と基本操作はPaizaの解説ページが綺麗にまとまっている。

Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌

あとは実際に手を動かしていくだけ。

まとめ

一昨年ぐらいからTensorFlowに手を出そうと意識はしていたものの、今までろくに試せていなかったので最初のとっかかりとしては十分すぎる内容。

Interfaceという雑誌、組み込み機器などハード寄りのイメージの強い雑誌ですが、意外と侮れないと言う感想。

以前は技術評論社の雑誌を毎号購入していた時期がありましたが、最近は購買欲がわかない特集が多いです。その点、CQ出版のトラ技とこのInterfaceの方が興味をそそる内容の特集が多いような気がします。

別にSoftware DesignなりWeb+DB PRESSを買わないとかいうわけではないですが。


食わず嫌いなのか、あるいは「老い」というやつなのか。結構ググればそれなりにその場しのぎになるからでしょうか。

それではまた。

*1:まだ買ってないですが評判はいいみたいです

*2:技術評論社にも言えることですが

*3:流通にやらせればいいのに

*4:ロケーションバー

*5:KitematicなどGUIツールをインストールしておくと楽