ブックマーク / hamukazu.com (4)

  • scipy.sparseでの疎ベクトルの扱い – はむかず!

    Pythonで疎行列を扱うライブラリであるscipy.sparseについて、自分がハマってきたところをまとめてみようと思う。とくに、行列よりもベクトルとして扱ったとき(つまり行または列の数が1のとき)の注意点をまとめる。 基的なことばかりなのかもしれないが、日語の情報は少ないので、それでも役に立てるかもと思いました。まあ自分の勉強ノートみたいなもんです。 基 scipy.sparseで提供される疎行列の形式はいくつかあるが、ここではとくにCOO(COOdinate)形式、LIL(LInked List)形式、CSR(Compressed Sparse Rows)形式、CSC(Compressed Sparse Columns)形式について取り上げる。 それらの違いについて、詳細は家のドキュメントを参照して欲しいが、すごく大雑把にまとめると、 CSR, CSC形式は、同じ型同士の掛け

    yag_ays
    yag_ays 2016/02/15
  • bottleとgeventによる高速軽量非同期ウェブアプリ – はむかず!

    最近bottleとgeventを使ってみて、とても便利でメカニズムも興味深いと思ったのだが、あまり日語の解説がないようなのでここにまとめてみる。Pythonによるウェブアプリ開発で、レスポンス速度が重要なときに参考になるかと思う。 bottleとは? Pythonの軽量ウェブフレームワークである。使い方はとてもシンプルで、独自のテンプレートエンジンを持っている。詳細は家のドキュメントを参照だが、その家のドキュメントの最初のこの例を示せば大体の雰囲気はつかめるであろう。 from bottle import route, run, template @route('/hello/<name>') def index(name): return template('<b>Hello {{name}}</b>!', name=name) run(host='localhost', port

    yag_ays
    yag_ays 2016/01/05
  • 人間が読めない数字 – はむかず!

    先日の記事「コンピュータが読めない数字」で、「コンピュータさん悪くない」って言ったが、どう悪くないかイマイチ伝わってない気がしたので、MNISTデータで個人的に納得できないものワーストを書き出してみようと思う。 これすべて数字なのだが、読めるだろうか。 正解は下をスクロールして参照。 答: 左から 9 7 3 2 9 5 4 (MNISTデータに付随している正解データによる)

    yag_ays
    yag_ays 2014/08/22
    “MNISTデータで個人的に納得できないものワースト”
  • Pythonで数値計算のコツ:for文書いたら負けかなと思っている – はむかず!

    転職してから1年とちょっとが経ち、Pythonをメイン言語としてからも同じくらいが経った。最近やっとnumpy/scipyの使い方のコツがわかってきたと思うので、マサカリ飛んでくるのを覚悟でなんか書いてみようと思う。 転職して初めてPythonを使ったというわけではない(実際wafのwscriptとかは書いたことある)が、まあでもほぼ初心者同然だった。学習曲線でいうとPythonはすごく良い言語だと思う。Python体の言語仕様については、わりとすぐに覚えることができた。だが一方、numpy/scipyについては、そう簡単ではなく習得するにはそれなりに時間がかかったと思う。 ケーススタディ たとえば\(N\times M\)行列\(B\), \( M\times L \)行列\( C \), \( M \)次元ベクトル\(a=(a_k)_{1\leq k \leq M}\)が与えられて

    yag_ays
    yag_ays 2013/12/20
  • 1