2017/03/25
実装
本日は予定が詰まっていたり、睡眠を確保したりして十分に時間がとれなかった。
(それに加えてやる気が起きなかったというのも正直あるけど。)
情けない結果になってしまったが、その分明日早くから時間を確保して取り掛かりたい。
意味論的展開
色々な背景があって2年前くらいに購入した本。
ジャンルにするとデザインに分類されると思う。
2年前の時点では自分の知識が不足していたのか、この本を読みきることができずにいた。
久しぶりに読んでみたらギリギリ読むレベルに達していて非常に良書っぽい雰囲気を感じている。
デザインの本ではあるものの哲学的な要素を多分に含んでいる。
今後ブログで取り上げるつもりは特にないが、もし大発見があれば紹介していきたい。
Splatoon2
相変わらず良く出来ていた。
試射会ではローラー強い現象が発生していてローラーを選択する人が多かった印象だが、ガチがスタートすればほぼ現在通りの分布に落ち着くのではないだろうか。
私はマニューバーを多く使ったが、扱いが簡単でいい結果も残せた。
楽しい。以上。
2017/03/24
Python環境設定続き
少し汚れてしまったOSをもう一度クリーンインストールしても良かったが学校の履修に関してなど何かとやることが多く、ここで環境が安定しなくなったら困るので、GWあたりに綺麗にすることにした。
せっかく綺麗にするならなんのディストリビューションを入れるのかも考えたいし。
現在の環境はxubuntu16.04なんだけど、もう少し面白い(ニッチな)やつ使ってみたいかも。
Ubuntu系統が入れるの簡単で甘えてしまうけど、勉強も兼ねてArchとかかな。
話が逸れたけど、そんなこんなで自分の環境少し汚してもいいかと思いPythonを元の環境に戻した。
matplotlibの描画ができなくて一瞬焦ったけど、すぐにどうにかできた。
ある程度潔癖症をやめれば流石に構築はすぐだった。
下の2つの記事が非常に参考になった。
ゼロから作るDeep Learning
勝手に魚本と読んでる本。 3日目にしてやっと取り掛かることができた。
今日は3章まで。 多分この本は後から難しくなると思うので今のところは問題ないが若干不安。。
ニューラルネットワークの最も基本的な考え方とpythonの扱い方を覚えたって感じ。
ただバッチ処理に関しては書ける自信がない。
というかNumpyって本当にいろんな使い方があって、Pythonの最もおいしいところなのに全然慣れない。
下の資料のような基本的な書き方についても勉強できてよかった。
azuuun-memorandum.hatenablog.com
また明日時間を見つけて取り掛かる予定。
Splatoon2試射会
4時から試射会に参加予定なので楽しみ。
明日は午前中から用事があるので仮眠してから取り掛かりたい。
2017/03/23
dockerについて
結局Dockerfileからホストのディレクトリをマウントする方法はなさそうだった。
そこで複数コンテナは建てないがdocker-composeを使うことにして「めでたし、めでたし」としたかったが、GUIの部分で詰まった。
魚の本を勉強していると昨日書いたが、この本ではmatplotlibでグラフを書くのでGUIの環境を整えてあげなくてはならなかった。
調べてみたらDockerでGUIを使えるようにする記事はいくつか発見することはできたが、matplotlibが必要とするPyQt4がどうしても導入できなくて諦めてローカルの環境でやることにした。
PythonバージョンのQtがあることを恥ずかしながら初めて知ったので若干驚いた。(なぜか書籍はあんまり発達してない。みんなC++を普通に使うのかな?)
Python環境構築
今までneovimの超有名プラグインdeniteを使用するために適当にセッティングしたぐらいで、真面目に環境組んだことがなかったので少し調べてみることに。
(そもそもdocker使うのでローカルの環境を気にする必要もないと考えてたし)
調べると
こんな記事が出てきた。
「pyvenvとか知らないぞ。俺も脳筋でpyenv使ってきてた。」と思いpyvenvを調べた。
あんまりいい資料がなかったが
Python: pyenv, pyvenv, virtualenv – What’s the difference? | Abu Ashraf Masnun
この資料が割と分かりやすかった。
要は、
pyenvはPythonのバージョンマネジャーで、様々なバージョンや実装(CPython以外)をインストールできる。 pyvenvはPython3.4から導入された、他のプロジェクトと干渉しない仮想環境を作るツール。
ということなのだろう。(pyvenvなんて本当にコンテナ使うなら不必要な気もするが)
調べたのでpyenvを捨ててしっかりと環境を構築し直そうと思ったら、deniteが反応してくれなくて困ってる。
情けないことに今日も環境構築に時間を取ってしまい終了。
deniteは今までできていたことを考えると削除する際に失敗して溜まったゴミが悪さをしてる可能性もある。
OSを入れてから半年ぐらい経っているし、新学期も始まるのでここで一つクリーンインストールするのもありかもしれない。
2017/03/22
ブログ開設
今まで何度かブログを書こうと始めてみたけど結局長続きしなかった。
コンテンツが決まってなかったことが原因だと感じたので、技術のことを中心に書くと決めればできるのではないかと思った次第。
モチベーションとしては内容を濃くするよりも続けることに重きを置いてます。
真面目に勉強し始めたという点ではプログラミング歴1年未満のド素人(何行かJS書いたことがあるぐらいで、本当に書いてない人ですw)なので、間違ったこともガシガシ書いてしまいそうだけど多めに見ていただきたいです。
Rubyのしくみ
現在読んでる本。
あらかた読み終えたけど、ブロックとかRubiniusの説明があんまり頭に入ってこなかったので読み直したいと思ってる。
そのあたりが重要そうな雰囲気もあるし。
RubyはRailsからプログラミングを始めたので馴染みがある。(というかまともに書けるのRailsぐらい)
言語処理系の本ではMatzの本が新しくて人気だけど、自分は一度挫折している。
コンピュータ・サイエンスの基礎の部分を最近勉強したし、この本も読んだので読めるようになっていると嬉しい。
青木さんのコンパイルの本は少し古いかもしれないけど良い本と書いてあったので、そっちから取り掛かってもいいかもしれない。
docker
魚の本を勉強しようと思っているのですが、anacondaを入れろって書いてあったのでdockerの公式レポジトリにあるanacondaのイメージを引っ張ってきた。
volumeに関しての知識がなくて、ホストのファイルをどうやってコンテナにマウントすればいいのか迷った。
結果としてdocker公式を読みなおしたことで理想通りの挙動は見せてくれたけど、Dockerfileでの書き方がわからずコマンドで解決しているのでどうにかしたい。
現在は
docker run -it -v ~/machine-learning:/var/ml pencilrocketman/anaconda コマンド
こんな感じでmachine-learningディレクトリを/var/mlにマウントしてる。
docker-composeを使えばできそうみたいな雰囲気があったけど、今回の場合複数コンテナ建てないから使うのかっこ悪いし上手にいかなかった。。
ホスト環境の使い慣れたneovimで開発したいので結構重要な問題。
この問題絶対解決法があるはずなので明日以降も探して行きたい。
そして早く本題であるDeep Learningの勉強がしたい。