mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

node, nvm, npmセッティング(OSX)

node入れようとする

brewで入れると最新バージョン取ってくるので、今だと以下の6.5.0を取ってくる。 f:id:mazeltov7:20160907214347p:plain
まぁ、いいけどメジャーなrecommendedの方が良さそうな気がするので、バージョン切り替えしやすいようにしておくためにnvmを入れる。 (brewで入れたnodeとnvmで入れたnode併存し得るので、nvmだけでnode入れる)

nvm入れる

nvmもbrewにあるので、brewで入れる。

$ brew install nvm
$ mkdir .nvm
$ vim .zshrc # 以下を追加
  export NVM_DIR="$HOME/.nvm"
  . "$(brew --prefix nvm)/nvm.sh"

node入れる

$ nvm ls # ローカルに入ってるnodeを一応確認
$ nvm ls-remote # リモートのnodeバージョン確認
$ nvm install OOO # 希望のバージョンをインストール
$ node -v

てか、npmはnode入れると入ってるぽい

Elasticsearch + kibanaのセットアップ

検索とかメインじゃなくて、データ表示がメインです。

Elasticsearchをダウンロード

公式サイトからzipをダウンロードする。 (brewで入れてもいいんだけど、plugin使うならpathが微妙だったので、そのまま入れる)
Download Elasticsearch Free • Get Started Now | Elastic

公式ドキュメントのgetting startedに沿ってやる

Elasticsearch Reference [2.4] | Elastic

kibanaも入れて、公式ドキュメントに沿ってやる

Download Kibana Free • Get Started Now | Elastic

次にESを監視できるmarvelを入れて、以下略

こちらはplugin Download Marvel • Monitoring for Elasticsearch | Elastic

いい感じにjsonのquery書けるsenseを以下略

これもplugin Sense Documentation | Elastic

oculus製品版をセットアップして、遊んだ

新Win機を開封

なんだか久々のwindowsよろしく。結構本気構成
[スペック]
OS:Windows10 64bit
CPU:Intel Core i7-6700CPU @ 3.40GHz
GPUGeForce GTX 1070
HDD:ST2000DM001 [2TB SATA600 7200]
SSD:BX200 CT480BX200SSD1 [480GB]
メモリ:16G RAM

Oculus開封

oculusのアプリをインストールして立ち上げると、機器のつなげ方とかチュートリアルが出てくるのでそれに沿ってやる。設定の最後にデモがあるので、そこまでいけばセットアップ完了。

問題発生(大きめのソフトが動かない)

ストア上で大人買いを発揮しまくっていたところ、サイズの大きいソフトが動かないことが発覚。。 ソフトを起動すると、THE [Appname] IS TAKING A WHILE TO OPEN etcetcと表示されて起動しなかった。
例えば、このclimbのアプリ。
www.youtube.com
で、climbのフォーラム見に行くと似た現象のスレがちらほら。 http://www.theclimbgame.com/forum/viewtopic.php?f=7&t=15
最新のドライバーじゃなかったり、適切なグラボ積んでても、そっちを見に行ってないことがあるっぽい。

1. ドライバーを最新に

NVIDIA Geforce Experienceのアプリを立ち上げて、ドライバーが最新かどうかを確認。

2. グラボの状況を確認

コントロールパネル->ハードウェアとサウンド->デバイスマネージャーで、ディスプレイアダプターを確認。 ここで、IntelグラボGeforceグラボが2つ表示されてて、この辺怪しいと。
原因はディスプレイからつなげるのに、hdmi使ってて、これがグラボ側とつながってて、oculus側のhdmi接続はPC側に接続されててこれがダメだった。ただ、これを入れ替えると、ディスプレイの方でnvidiaコントロールパネルが立ち上がらなくなったりと面倒そうだったので、DisplayPortのコードに変えてグラボ側に接続。これで再度ディスプレイアダプター確認すると、NVIDIAのグラボだけが表示された。で、ソフト起動して無事プレイ成功!ふぅ、なるほど。

*ちなみに、アプリ起動中にどのグラボ使われてるとか見えるようにしておくと便利。コントロールパネル->ハードウェアとサウンド->NVIDIAコントールパネルで、デスクトップのタブ開いて、GPUアクティブティアイコンを通知領域に表示するをチェックすると通知のところに出てきて確認できるので良い。

とりあえず、最高

f:id:mazeltov7:20160904104705j:plain

session_set_cookie_paramsとかセッション

これはなに

適当にsession_set_cookie_params付けてたけど、よくわかってなかった。el capitanにして、localhostの環境がlocalhost/~username/appnameみたいな感じでやるようになって、セッション消えたり、他アプリと共通化されたりおかしくなったので、調べた。

session_set_cookie_params(0, '/~username/appname/');

とかすると、第一引数はセッションクッキーの持続時間、0にすると制限時間無しになる。第二引数にはセッションクッキーが有効なpathを記載する。これでアプリ毎のセッションクッキーをセットできるようになる。

セッションの保存先だけど、php -i | grep session.save_pathすると見れる。設定はphp.iniでsession.save_path = "/var/lib/php/session"とかするとそこに書かれていく。デフォルトだと/tmpになってるぽい。

追記:php.iniにsession.save_path設定すると某アプリのログインcallbackでこけるな…おや…

MBPでel capitanクリーンインストール

1. ファイル・写真etcを同期する

これを機にファイル・写真は全てDropboxに同期するようにしました。Dropbox内にフォルダ作って、ローカルからそこにリンク貼る形にして、自動同期。 あと、brewで入れてるやつとかもさっと同期するために、brew bundle dumpとかしてBrewfileを作成。Dropboxとかに入れて、綺麗にした後にbrew bundleできるようにしておく。

2. アプリ内のデータを同期する

アプリ内のデータで必要なものを同期。 Apple系のもの(Notesとか)はこちらでできる。
iCloud データをアーカイブまたはコピーする - Apple サポート
(今回はdropboxのpaperにコピペした)

3. 認証ある系のものを解除する

Adobe製品やicloud, itunesとか解除する。 Apple系はこちら。
Mac を売却または譲渡する前に - Apple サポート

4. バックアップ取る

Time Machineとかでバックアップをとっておく。

5. クリーンインストール!!

6. 諸々設定

7. 開発環境をセットアップ

vagrantにchainer入れて、chainer-goghを試す

what is this

chainer-goghで良い感じに画像つくりたい! (ってしてる間にprismaがリリースされたけど)

How I did

1. vagrantにchainer入れる

chainer自体は、

$ pip install chainer

で入るはずだけど、これやるのに必要なライブラリとかあったりするので、それをゴニョゴニョ入れていく。

2.chainer-gogh入れる

$ git clone https://github.com/mattya/chainer-gogh.git

chainer-goghのreadmeにもあるけど、学習のモデルをここ(https://gist.github.com/mavenlin/d802a5849de39225bcc6)のdropboxから取ってきて、chainer-goghフォルダに置く。

あとは試したいベースとなる画像とスタイルにしたい画像を使って試す。

$ python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g -1

で実行。output_dirにアウトプットが吐き出される。

3. やってみた

ピカチュウを悟空みたいにツルピカにしようとした。
input.png
f:id:mazeltov7:20160723123720p:plain
style.png
f:id:mazeltov7:20160723123801j:plain
で、以下結果。
im_00000.png
f:id:mazeltov7:20160723123828p:plain
im_00050.png
f:id:mazeltov7:20160723123830p:plain
im_00100.png
f:id:mazeltov7:20160723123832p:plain
↓(40時間くらい)
im_01450.png
f:id:mazeltov7:20160723123924p:plain
んー、なんか期待と違うwww そもそも画像素材が微妙だった説が濃厚・・他の素材で試します。

今回は、CPUで回してて、あと、CUDAやcuDNNなどのライブラリも使ってなかったので、次はその辺り使って試してみよう。

関係無いけど、この画像診断よくできてる。ピカチュウも判定された。
http://demo.illustration2vec.net/

以下参考リンク

vagrantにdockerでdeepdream入れて、deepdreamを試してみる。

what is this

何やらcaffeは入れるのめんどそう、ということで、vagrantにcaffe含むdeepdream環境全部入りのdockerを立ち上げて試した。

How I did

vagrant入れるところはここで。
vagrantにdockerでtensorflow入れて、jupyterでhello world - mazeltov7のweb断片

1. deepdream-dockerをゲット

以下から、レポジトリ引っ張ってくる。 https://github.com/herval/deepdream-docker

以下、レポジトリのreadmeに書いてる通りにやるだけ。

2. docker buildする
$ docker build -t herval/deepdream .
3'. 適当な画像を拾ってくる

実験に使う画像を拾ってくる

$ wget https://hogehoge.com/photo.png -O /local/path/photo.png
3. docker runする
docker run -i -t -e INPUT=your_file_name.png -e ITER=20 -e SCALE=0.10 -e MODEL='inception_3b/5x5_reduce' -v /path/to/your/folder:/data herval/deepdream

で、outputsに結果画像ファイルが吐き出される!

4. vagrant上のoutputsの画像をローカルに持ってきて確認する

まず、vagrant sshで使う設定を確認しとく

$ vagrant ssh-config

確認した内容をファイルに書き出す

$ vagrant ssh-config > ssh.config

scpする際に指定する

$ scp -F ssh.config vagrant@default:~/output_file.png output_file.png

以上。