2016年06月

tensorflowの備忘 その2

今回も備忘用。

tensorflow以前にpythonがさっぱりなのでお勉強。

面白い機能をリストアップ。

①numpyのmeshugridとmatplotlib
meshgridを使ったほうが普通にアレイを作るよりも処理速度が速いらしい。
使い方や解説はこちらが良さそう。
https://hydrocul.github.io/wiki/numpy/ndarray-create-special.html

②リスト内包表記
リストや辞書の処理をする時に、ループで簡単に処理させるもの。使う処理によってはfor文で書くと遅いのでライブラリを使ったほうが早い場合がある。真偽値の場合はwhereを使う、など。
http://python.civic-apps.com/list-comprehensions/

以下のようにアレイが3つある場合、
A = np.array([1,2,3,4])
B= np.array([100,200,300,400])
condition = np.array([True,True,False,False])
answer = [(a if cond else b) for a,b,cond in zip(A,B,condition)]
inの後のzipのA,B,conditionの値が順々にa,b,condに入り、if文で判定される。condがtrueの場合はaでelse(False)の場合はbの値が入ることになる。なので、answerは、[1, 2, 300, 400]になる。
zipとforループを組み合わせることは日常的によく使うみたい。

whereの場合
np.where(arr<0,0,arr)
などと書くと引数の1つ目が真偽値(条件)、2つ目がtrueの場合、3つ目がFalseの場合になるが、whreの場合はarrayでデータが返ってくることは注意。
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。