111015 tokyo scipy2_ディスカッション

1,559 views
1,494 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,559
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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が読めないなど)があったり など、ちょっとした部分で手間がかかる。

×