Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

111015 tokyo scipy2_ディスカッション

1,757 views

Published on

  • Be the first to comment

111015 tokyo scipy2_ディスカッション

  1. 1. [ディスカッション] より良いNumPy/SciPyコーディングスタイルとは? Tokyo.SciPy#2 2011.10.15
  2. 2. 進め方• コードを見ながらディスカッション• アンケート結果を見ながらディスカッション
  3. 3. 進め方• コードを見ながらディスカッション – Q3: Sum with NaN and Inf – Q4: Missing values in ndarray – Q5: 1-of-K representation – Q6: Useful snippets• アンケート結果を見ながらディスカッション
  4. 4. 進め方• コードを見ながらディスカッション• アンケート結果を見ながらディスカッション
  5. 5. Q1:お使いのNumPy/SciPyの 開発環境(IDE)はどれですか?• 4票 – Emacs• 1票ずつ – Vim – Eclipse+PyDev – 秀丸+Python 対話環境 – pycharm – Spyder – BBEditとIDLE
  6. 6. pycharm
  7. 7. spyder
  8. 8. Q2同じ処理をRで書く場合に比べて、コーディン グ行数はNumPyの方が短いですか?同じ処理をRで書く場合に比べて、コーディン グ時間はNumPyの方が短いですか?Pythonの言語仕様(インデント強制等)は数値計算にNumPy/SciPyを利用する上でプラス だと思いますか?可能な限りForループでなくインデクシングや スライスで処理していますか? 行列計算にはnumpy.matrixでなく numpy.ndarrayを使っていますか?NumPy/SciPyと周辺ライブラリ(Matplotlib等)実務での使用に耐えうる性能・機能・成熟度 のコードを書いていますか? 0% 20% 40% 60% 80% 100% はい どちらとも言えない いいえ わからない
  9. 9. Q8. 他言語からソースコードの移植を 考えたときに、困った経験があれば教えて下さい。• R から持ってくるとき、1-origin => 0-origin が たまにハマる。• Cythonを使う際にCの配列(double *x)と numpyのndarrayの相互変換。• intのサイズが異なることでバグを引き起こし たことが問題といえば問題でした.これは Python同士でもOSや環境の32bit/64bitでも 引き起こすので,明示的に型を指定する必要 がありますが,慣れないうちははまりました.
  10. 10. Q8. 他言語からソースコードの移植を 考えたときに、困った経験があれば教えて下さい。• matlabからnumpyへのソースコード移植の際、 lapackのうち,一部の関数しか numpy へポートさ れていないことが理由で gsvd (generalized singular value decomposition) や csd ( cosine- sine decompositoin) が即座に利用できなかったこ と。この時 lapack を f2py でコンパイルし直したが、 非常に時間がかかって面倒な思いをした。 凝った 特殊関数や線形変換になると直ぐに利用できなくな る点が面倒。• あと、wavreadやwavwriteに近い関数群が微妙な 制約(32bit float のwavが読めないなど)があったり など、ちょっとした部分で手間がかかる。

×