マトリョーシカ的日常

ワクワクばらまく明日のブログ。

20181011

 いつだったか、先輩が金曜に定時で帰る際に「スタートダッシュを決めるからな!」と話していた。そのスタートは仕事ではなく、これから訪れる休日に対するものであって、そこにおかしみがあった。あれからいろいろあったが、彼はどうしているか。知らない。

 結局、ディープラーニングは何も進まず、AidemyNoteにはなにも提出することができなかった。原因は何かしらあると思うが、それを特定してたところでどうなることもない。そういうあれだった。それでも少しずつ勉強はしていて、今は配列のサイズに悩んでいる。これを解消したらまた次へ進める気がする。

 野帳に日々の思索を書き連ねているが、上部に日付と点数を書いている。点数は体調とかモチベーションをなんとなくで点数化したものだ。毎日記録すると、80点とか90点が多くつく。しかし、先日風邪を引いてしまい全く手帳にかけない日ができた。その翌日は体調が回復してきて60点になった。やっぱり点数が低い状態では創作活動はなにもできないなと感じた。無理やりやろうとしてもだめだった。してみると、体調を回復させることに重きをおいたら良いのだろう。たぶん点数が80点くらいになったらいろいろできる気がする。

 九月に録音した音声配信があと2回分残っていて、それを公開すれば私の配信は終了となる。楽しかった。

Kerasでcifar-10の物体認識をする際にいろんなエラーが起こったがなんとかなった。

f:id:kyokucho1989:20180927053546j:plain

Photo by Zoltan Tasi on Unsplash

(i)

 ふいに文章が書ける大気が生じた。昨日少しだけ降った雨によって街は全体的に湿っていて、それが冷たい空気を一層強めている。通勤途中の道でみつけたあれは、おそらくカマキリの卵だろうか。梅の枝にしっかりと溶着していた。日々同じ道を行き来する中で新しいものごとを生み出す要請があって、私はそれにしたがっている。それはそれである。

(ii)

 ようやくディープラーニングを進めることができる。以前の記事でchainerによるCIFAR-10の物体認識にチャレンジしたが、どうもエラーが出てうまくいかなかった。
ChainerによるCIFAR-10の一般物体認識 (1) - 人工知能に関する断創録
 そこで視点を変えることにして、chainerではなくKerasというやつでやってみることにした。何が違うのかよくわからないけど、Kerasのほうがいろいろ簡単になるらしい。

 まずは描画してみよう。
KerasでCIFAR-10の一般物体認識 - 人工知能に関する断創録


 それができなかった。めっちゃエラーが出たのだ。以下、時系列で書く。

エラー1

ModuleNotFoundError: No module named 'keras'
 対処:ターミナルで「pip install keras」を実行

エラー2

ModuleNotFoundError: No module named 'tensorflow'
 対処:ターミナルで「pip install keras」を実行

エラー3

FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters

 対処:hp5yのバージョンをあげた。ターミナルで「pip install h5py==2.8.0rc1」
 (変更前h5py 2.7.1 /numpy 1.14.3)
  参考
  Chainer, Tensorflowライブラリインポート時のnumpy FutureWarningを解決する

エラー4

Using TensorFlow backend.
Illegal instruction: 4

 対処:わからん。

環境を再構築

 なんかいろいろ面倒になったので環境を再構築した。まずはanacondaのpython3のやつをダウンロードした。
www.anaconda.com

 あとはkerasとtensorflowを個別にダウンロードしたがまだruntimeWarningというのが生じる。調べてみると以下のサイトに解決策があった。
Ubuntu@macOS上にTensorFlowを導入してみた

 OSによって最適なtensorflowのバージョンがあるらしい。
GitHub - lakshayg/tensorflow-build: TensorFlow binaries supporting AVX, FMA, SSE
 それがここに書かれていた。私の場合はMacOSのhigh SierraなのでTF(tensorflow)の1.5を入れればいいらしい。なるほど!そういうわけで「tensorflow == 1.5.0」をやったらruntimeWarningは消えた。

 あとは「_pickle.UnpicklingError: pickle data was truncated」というエラーが出ていた。調べたら、ちょうど昨日外国の人が質問していた。
Python 3 keras: UnpicklingError: pickle data was truncated for partly downloaded keras cifar10 dataset - Stack Overflow

 回答者曰く、.kerasフォルダの中にすでに入ってるデータセットを消去するといいらしい。試しに消してみたらなんとうまく動いた。

f:id:kyokucho1989:20180927053057p:plain


 うぉっっっぉおおおおおおおおおおおおおおおおおおおおおおおおおおおお!!!!!


やったー。
まだ、描画しただけだけど。


 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ココナラで販売している「3Dデータ制作サービス」が売れている

f:id:kyokucho1989:20180924054508j:plain
photo by Trevor Cole on Unsplash

 もう夏が終わったというのに、息子がテイオウゼミの鳴き声をyoutubeで聞いている。ぜんぜんセミらしい鳴き声ではなく、ただただうるさい。以前はカブトムシやクワガタムシが好きなだけだったが、興味の対象が広がっているらしい。いいことだ。それに対応して私の方も勉強する必要がある。モモチョッキリとか。

続きを読む

やりたいことが溢れたら時間の最適化を行えばいい/「本音で生きる」

https://www.instagram.com/p/Bn4a57NgYk7/

 先日、妻が「明日は付き合った記念日だね」と語りかけてきた。ケーキを食べよう、と。子供の誕生日が過ぎてしまい、クリスマスまでそのような行事はなかったためと思われる。そうであったから、仕事帰りに近くの店でいくつかのケーキを買った。チーズケーキとモンブランとブルーベリー的なものだった。持ち帰りの時間を聞かれたので三十分ほどと答えた。でも実際はもう少し近い。家に帰ると猛スピードで息子が接近してきて、私が手に持っていた白い箱を見るや否や、瞬時に奪いとった。「だれのたんじょうび?」と聞かれた。「記念日だよ」と答えておいた。

 メルカリの売り上げ金が残っていたので、適当な本を買った。堀江さんの「本音で生きる」という本だ。副題に一秒も後悔しない強い生き方、と書かれていて、強く出たなと感じた。ざっと読んでみたが、前半の本音でうんぬんというところはあまり参考にならなかった。私自身がすでに本音で生きているからである。最近はとくにその傾向が強く、やりたいことがドバドバと溢れ出てきている。わりと大変なエブリデイをエンジョイしている。はい。

 後半の「最適化」というキーワードが気に入った。本音で生きて、やりたいことが見えて来ると、こんどはそれをどうやって処理するかが問題になる。時間が足りないのだ。私もそれを肌で感じるようになってきていて、毎日「もうちょっと時間があればあれもこれもできるのになぁ」と歯がゆい気分になる。そこまでではないか。

 自分のやりたいことを片っ端からやろうとすると、最初のうちはまったく時間が足りなくなってしまうはずだ。だが、それでやりたいことを諦めてしまっては意味がない。時間という希少資源をどう使えばよいのかを常に考えることによって、自分のできる物事の範囲は広がっていく。
p110

 最高じゃないか。なんとも熱いメッセージだ。私に足りないのは最適化を行おうという意思および姿勢だった。やってやるぞ!というあれだ。もしかしたら、自分はいままで時間がないという問題を問題としてとらえていなかったのかもしれない。問題と認識すれば、必ず何かしらの解決策が見つかるはずだ。

 というわけでしばらくブログを書くのを怠っていたが、これからは徐々に更新のペースを戻していこうと思う。週二回くらいは書きたい。

本音で生きる 一秒も後悔しない強い生き方 (SB新書)

本音で生きる 一秒も後悔しない強い生き方 (SB新書)

ターミナルで苦戦するディープラーニング/画像認識への道のりは険しい

f:id:kyokucho1989:20180902053414j:plain
Photo by Michael Shannon

 息子が大切にしていたカブトムシが死んだ。死んだら復活しないよ、ということを伝えた。来年はヘラクレスオオカブトがほしいと言った。ないだろと言うと、あるよと返された。その自信はどこから来るんだ。そうやって夏はフェードアウトしていって、少しだけの秋が訪れる。虫がうるさい。

 ディープラーニングの進捗を週に一度は書かないといけない。
aidiary.hatenablog.com

 またこのサイトのコードを見ながら、CIFAR-10という画像データの認識のやりかたを勉強した。しかしうまくできなかった。たくさんのエラーが生じた。まずはprint構文でだめになった。これは単純に()をつけたら大丈夫だった。次はchainerというのを認識してくれなかった。ターミナルから「pip install chainer」とやってら問題なくなった。けれどそのあとの

RuntimeError: CUDA environment is not correctly set up

 が曲者だった。CUDAというのをインストールしなければならないらしい。エラーメッセージに書かれていたURLへ飛んだ。
GitHub - chainer/chainer: A flexible framework of neural networks for deep learning
さらに飛んだ。
Installation — Chainer 4.4.0 documentation
さらに飛んだ。
Installation Guide — CuPy 5.0.0b4 documentation

 CUDAをインストールするためにはcupyが必要らしかった。しかしcupyを入れようとしたらエラーがでた。

   **************************************************
   *** WARNING: nvcc not in path.
   *** WARNING: Please set path to nvcc.
   **************************************************

 もうわけがわからなかった。ウェブ上でいろんなことを調べたがやっぱりわからなかった。私がやりたいのはターミナルの知識を深めることじゃないんだ。ディープラーニングだ。他の画像素材を探そう。
scikit-learn: machine learning in Python — scikit-learn 0.19.2 documentation
scikit-image: Image processing in Python — scikit-image

 この辺りのやつから頑張って拾いたい。という感じでまったく進展のない記事を書いた。こんなもの誰の役に立つのか、と考えてみたが、たぶん書いてる本人が一番ありがたいと感じるはずだ。未来への自分に向けて発信しよう。

 あと、だれか画像認識の始め方をおしえてください。どこからどんな素材をゲットすればやりやすいですか……?

詳細!Python 3 入門ノート

詳細!Python 3 入門ノート