Skip to main content

Posts

Recent 'In C'

Recent posts

numpy, spicy with openblas

動機は、scikit-learn の GridSearchCV をガンガン回したところ、Python がクラッシュするという自体に見舞われたこと。 詳細はわからない(し、追えない、スキル不足で。。。)のだが、同様の事例を調べたところ、次のようなものが見つかった。 scikit-learn's GridSearchCV stops working when n_jobs>1 http://stackoverflow.com/questions/25260000/scikit-learns-gridsearchcv-stops-working-when-n-jobs1 まさに下のが今回の事象に近いのだが、 Crashed Thread : 0 Dispatch queue : com . apple . main - thread 回答を見れば、 rebuild numpy from source and make it link against ATLAS or OpenBLAS instead of OSX Accelerate. The numpy developers are working on binary distributions that include either ATLAS or OpenBLAS by default. ということなんですね。 ということでインストール方法ですが、できるだけ自前ビルドは避けたい(できれば pip, brew で統一したい)ということでこのページを参考にしました。 https://joernhees.de/blog/2014/02/25/scientific-python-on-mac-os-x-10-9-with-homebrew/ pip uninstall numpy pip uninstall scipy brew install numpy # --with-openblas brew install scipy # --with-openblas # test the numpy & scipy install python -c 'import numpy ; numpy.test();' py...

Sqlite3 Tips 1

# import from csv sqlite> .separator , sqlite> .import id_q4.csv q4 # output to csv sqlite> .mode csv sqlite> .output ***.csv sqlite> .select * from master; .mode html もある # シェルスクリプトを使って、SQLiteのレコードを取得する #!/bin/sh SQL="SELECT * FROM table_name" COMMAND="sqlite -separator , database_name" echo $SQL | $COMMAND ## loop for i in {1..35}; do     echo "=================== q${i} =================="     SQL="SELECT customer_id, q${i} FROM master;"     #echo $SQL | $COMMAND | sed -e "s/\|/,/"  > id_q${i}_tmp.csv     numelem=`echo "select numelem from label where name='q${i}';" | $COMMAND`     #python extract.py id_q${i}.csv ${i} ${numelem} > dump${i}.csv done # sql read sqlite> .read createtable.sql

間接層

間接層を入れる事は複雑化ではない。 間接層は理解を助けるものだと思う。 例えば、鉛筆でものを書く時、炭素が・・・とか木の繊維が・・・とか素材レベルまで意識する事は無いだろう(勿論、意識する人はいるしそれはすばらしいことだと思う)。 それは鉛筆という間接層が素材と自分の間に居てくれるから、自分は詳細を意識せずともものを書くという目的を達せられる。 確かに、使いづらい道具や歪な形をしたものがあったりする。それでも間接層に躊躇してはいいものが出来ないと思う。 何度も作るうちに、いい形になる。作らないといい形にさえならない。 > ソフトウェアとは間接層を入れる事で柔軟さを実現する だったか?(「リファクタリング」より) あくまでコンテキストによる。それが大前提です。 解析用スクリプト等では、敢えてベタ書きにしたりする。

play framework 環境を作ってみた

play2.2 の環境(eeepc debian wheezy)を作った。 1. play のダウンロード     http://www.playframework-ja.org/download   2. java-7-openjdk-i386 のインストール/設定     $ sudo apt-get install openjdk-7-jdk     $ sudo update-alteratives --config java         -> java-7-openjdk-i386 の選択 3. play 環境作成     $ unzip play***.zip > /dev/null     $ ./play***/play new project名        1. scala の選択 4. 取り敢えず実行してみる(プロジェクトディレクトリで)     $ ../play***/play run 5. localhost:9000 にアクセス→コンパイルが始まる(ちょっと時間がかかる)。     できたらサンプルページが表示される。