1. High Performance Python Computing for Data Science ~データ分析でPythonを高速化したいときに見る何か~ 株式会社ブレインパッド 佐藤 貴海 @tkm2261 PyData.Tokyo Meetup #4 2015年4月3日PyData.Tokyo Meetup #4 1
くだらないものばかり作ってないでたまには技術ネタを書いてみようと思う。 Python(とくにscipy.sparse)でx=0でf(x)=0となるようなユニバーサル関数fを疎行列のそれぞれの要素に作用させるにはどうすればいいだろうか。 x=0で0になるという点が重要で、その条件を満たす関数ならばもとの行列のsparsityをそのまま保存できる。つまり結果も疎行列になるはずだ。 Pythonにはユニバーサル関数という呼ばれる関数群があって、それは密行列については便利な機能で、例えば、密行列のすべての要素にtanhを作用させようとすると、次のようなコードで計算できる。 import numpy as np a=np.ones((3,3)) print a b=np.tanh(a) print b つまりユニバーサル関数は行列に作用させると各要素に作用する。以前に書いたfor文を書いたら負けとい
numpy/scipyは、別に全ての演算がpythonで実装されているわけではなくて、内部的にはBLASとかを呼び出している(多分)。で、普通だったらATLASのようなBLAS実装が使われると思うんだけど、それだと遅いからOpenBLASみたいなBLAS実装を使いたかったりする。(参考:Atsushi TATSUMA Web Page » OpenBLAS を使った Numpy/Scipy のビルド) で、確かにOpenBLASによって一部の行列演算が早くなる。なぜかというとマルチコアの力を使ってくれるから。 しかし困ったことに import scipy.sparse.linalg しただけで、multiprocessingを使った並列処理ができなくなってしまった。コア数とかは import multiprocessing multiprocessing.cpu_count() # 16
05/28の記事で、OpenCV + Python環境を構築する過程でPython仮想環境にNumPyとSciPyを組み込んだ。どちらもPythonでプログラム開発をやるには必須のライブラリだが、この2つについて調べるうちに、OpenBLASというオープンソースの線形計算ライブラリが存在し、このライブラリを組み込んでビルドするとNumPyとSciPyを高速化できるらしいことを知った。これにトライしてみたら成功したので、その作業記録を書いておく。 ■OpenBLASを組み込んだNumPyとSciPyのビルド すでにNumPyとSciPyをインストール済みだったので、まずは、「pip」コマンドを使ってこの2つのライブラリをアンイストールした。 % pip uninstall numpy % pip uninstall scipy % pip list distribute (0.6.40) s
scikit-learn(sklearn)の日本語の入門記事があんまりないなーと思って書きました。 どちらかっていうとよく使う機能の紹介的な感じです。 英語が読める方は公式のチュートリアルがおすすめです。 scikit-learnとは? scikit-learnはオープンソースの機械学習ライブラリで、分類や回帰、クラスタリングなどの機能が実装されています。 また様々な評価尺度やクロスバリデーション、パラメータのグリッドサーチなどの痒いところに手が届く機能もあります。 インストール scikit-learnの他にもnumpyとかscipyとかが必要です。 Windows 64 bit版の人は以下のURLに色々なインストーラーがおいてあるのでおすすめ Python Extension Packages for Windows - Christoph Gohlke その他の人は以下のURLを見て
はじめに これまで BLAS には、高速な GotoBLAS を使ってきましたが、 開発が終了していることから、移行先を検討していました。 GotoBLAS の後継であり、開発が続いていることから、OpenBLAS を使うことにしました。 研究室では Debian GNU/Linux を使用しており、作業当時のバージョンは squeeze です。 準備 必要なライブラリなどをインストール/ダウンロードします。 まず、今回、独自にビルドしないライブラリなどを aptitude でインストールします。 libatlas-base-dev が、後半で重要となります。 $ sudo aptitude install gfortran git swig $ sudo aptitude install python python-numpy python-scipy python-nose
機械学習関連のプログラムを書くときに利用してみようと思ったのでインストールしてみる 事前準備 インストールしたときの状況を覚えていないもの Python 最初から入っているやつではなく、公式サイトからダウンロードしたもの SciPyとかのサイトに入れ直した方がいいみたいなことが書いてあった ダウンロードはここから gccとか XcodeをApp Storeからインストールしておく gccとかいろいろ開発関連のものがインストールされるはず fortran SciPy関連で必要らしい SciPyのサイトで紹介されてた「http://r.research.att.com/gfortran-lion-5666-3.pkg」をダウンロードしてインストールした その他 必要なものが他にもあるかもしれない・・・ export $ export CC=gcc-4.2 $ export CXX=g++-4.
Statistics Favorites 0 Downloads 0 Comments 0 Embed Views 0 Views on SlideShare 0 Total Views 0 機械学習のPythonとの出会い(1):単純ベイズ基礎編 — Presentation Transcript 機械学習のPythonとの出会い (1) 単純ベイズ:入門編 神嶌 敏弘 ( http://www.kamishima.net/ ) Tokyo.Scipy #4 (2012.06.18) 1 自己紹介• 専門について • 機械学習やデータマイニングが専門と名乗ってます • PRML本とか翻訳しましたが,変分ベイズとか,MCMC とか複雑 なことは全然してません • 手法を深掘りすることよりも,新しい問題設定を考えて,できるだ け簡単な方法で解くようにしたいと思ってます• NumPy / Sc
Boost.PythonとPyUblasに関して, 今まで適当に書いていた日記をまとめたもの. 詳細は過去の日記へのリンクをあちこちに貼ってある. 前書き Pythonは言わずと知れた非常に遅い言語だ. Pythonで大きなループを含む処理を書くことは即ち死を意味する. 例えば手元のthinkpad Core2Duo2.5GHzでは, Pythonで2つの500×500の行列同士の行列積を計算するのに29秒かかる. これは, C++では僅か0.6秒で終了することを考えると非常に遅い. (ただし, 乱数による行列の生成処理を含み, コンパイルオプションは-O2である) しかし世間は広く, この遅いPythonで数値解析をしたい奇特な人間がいるらしい. そこで恐らく今もっとも使われているライブラリがscipy(numpy)である. このscipyには様々な数値解析用の関数などが含まれている.
Cython Tutorial Dag Sverre Seljebotn dagss@student.matnat.uio.no University of Oslo EuroSciPy 2010 Seljebotn (University of Oslo) Cython EuroSciPy 2010 1 / 41 Introduction Seljebotn (University of Oslo) Cython EuroSciPy 2010 2 / 41 About the tutorial Form: Start exercise-driven As things get more time-consuming, move to tutorial-on-screen To do exercises yourself should have Cython 0.11.2 or late
The document discusses geometry processing and sparse matrices. It provides an overview of geometry processing, which uses applied math and computer science concepts to design algorithms for acquiring, reconstructing, analyzing, manipulating, simulating and transmitting complex 3D models. It then discusses representing shapes using triangle meshes and differential coordinates. It introduces discre
数式をnumpyに落としこむコツ View more presentations from Shuyo Nakatani という発表を Tokyo.SciPy #2 でさせてもらったのだが、発表&資料作成の時間の関係で、実際に数式を解釈する例を2つしか入れられなかったのが残念なところ。 今、社内 PRML 読書会で 13章の隠れマルコフをやっつけていて、その Baum-Welch の更新式がちょうどいい題材になっていることに気付いたので、ここで取り上げてみる。 (PRML 式 13.36) 結構複雑な印象のある数式だが、こいつも資料の流れに従えば簡単に実装できてしまうことを見ていこう。 数式を読み解く 数式を書き換える numpy に「逐語訳」する というわけでまず「読み解き」だが、これが一番重要なステップ。 特に今回の式の場合は , , の正体をちゃんと見極めておかないといけない。 「正
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く