yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


tips:python:numpy:start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
tips:python:numpy:start [2019/05/20 07:19] – 作成 yuuhotips:python:numpy:start [2021/11/28 17:13] (現在) yuuho
行 12: 行 12:
 H,W = Y,X = 5,7 H,W = Y,X = 5,7
  
-grid = np.c_[tuple(m[:,:,np.newaxis] for m in np.mgrid[:H,:W][::-1])] 
-grid = np.c_[tuple(m[:,:,np.newaxis] for m in np.mgrid[:Y,:X][::-1])] # どちらでも構わない. 
- 
-# こっちのほうが良さげ 
 grid = np.mgrid[:H,:W].transpose(1,2,0)[:,:,::-1] grid = np.mgrid[:H,:W].transpose(1,2,0)[:,:,::-1]
 grid = np.mgrid[:Y,:X].transpose(1,2,0)[:,:,::-1] grid = np.mgrid[:Y,:X].transpose(1,2,0)[:,:,::-1]
 +grid = np.stack(np.mgrid[:H,:W][::-1],-1)
 +grid = np.mgrid[:H,:W][::-1].transpose(1,2,0)
 +grid = np.mgrid[:W,:H].T
 </code> </code>
  
行 63: 行 62:
 out = img[smp_y,smp_x,:].reshape(H,W,C) out = img[smp_y,smp_x,:].reshape(H,W,C)
 </code> </code>
 +
 +=== int から one hot へ ===
 +
  
 ==== 変形 ==== ==== 変形 ====
行 73: 行 75:
 破壊的代入をおこなう関数.copy()などで防げる. 破壊的代入をおこなう関数.copy()などで防げる.
  
 +==== 代入 ====
 +以下は同じ,式が使えない内包表記ではメソッドが便利
 +<code python>
 +canvas[A==B] = hoge
 +canvas.place(A==B,hoge)
 +</code>
 +
 +
 +1チャンネル画像を3チャンネルにしたいときの書き方
 +<code python>
 +# 持っている : alpha (H,W)
 +# 欲しい : img (H,W,C)
 +
 +#通常
 +hoge = alpha[:,:,None]
 +img = np.c_[hoge,hoge,hoge]
 +
 +#broadcast
 +img = np.zeros((1,1,3),dtype=alpha.dtype)+alpha[...,None]
 +#or
 +img = np.array([[[0,0,0]]],dtype=alpha.dtype)+alpha[...,None]
 +
 +#内包
 +img = [np.c_[a,a,a] for a in [alpha[:,:,None]] ][-1]
 +
 +#method
 +img = alpha[:,:,None].repeat(3,axis=2)
 +</code>
 ==== linalg ==== ==== linalg ====
 linear algebra (線形代数) パッケージ. linear algebra (線形代数) パッケージ.
行 81: 行 111:
 === 型変換 === === 型変換 ===
 ''.astype()''でfloatからintへ変換すると,四捨五入ではなく小数点以下切り捨てとなる. ''.astype()''でfloatからintへ変換すると,四捨五入ではなく小数点以下切り捨てとなる.
 +
 +==== print関数の挙動を変更 ====
 +
 +''numpy.set_printoptions()'' を使えば良い
 +
 +  * [[https://python.atelierkobato.com/print_option/|NumPy 表示形式の設定]]
  
tips/python/numpy/start.1558336797.txt.gz · 最終更新: 2019/05/20 07:19 by yuuho