Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

111015 tokyo scipy2_ディスカッション

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 10 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie 111015 tokyo scipy2_ディスカッション (20)

Anzeige

Weitere von Shohei Hido (20)

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

×