覚え書きブログ

ブロック対角行列

ブロック対角行列は、numpyのkronとeyeを用いて作ることができる。例えば、以下の6行3列の行列zの2行ずつ取り出して対角に並べてみる。 z=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18]]) > z array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8…

ブロック単位のreshape その2

hirotaka-hachiya.hatenablog.com 前回のブロック単位でのreshapeはある特定の行列の形にしか対応できなかったが、以下のサイトによるとnumpy.hsplitとnumpy.vstackを組み合わせるとどんな行列にも対応できそう。 stackoverflow.com以下のように、4行6列の行…

ブロック単位のreshape

以下の、6行4列の行列を2行2列を一塊とするブロック単位でreshapeして12行2列の行列に変換するとする。 z=np.arange(24).reshape(6,4) >z array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]) …

tensorflow2.2のsubclassingによるUnetの実装

前回のコードを拡張し、今度はUnetを実装してみた。 hirotaka-hachiya.hatenablog.comUNetは、以下のように、Uのような形をしたネットワークで、画像を一度低解像度化し特徴抽出してから、元の解像度に戻すことにより復元する。 特徴としては、encoderの各大…

tensorflow2.2のsubclassingによるautoencoderの実装2

前回に引き続き、autoencoderをsublassing AIPで実装してみた。 hirotaka-hachiya.hatenablog.com今回は、以下のように画像を2値化し分類問題として解いてみた。 また、ラベルをone-hotベクトルで表現し、embeddingベクトルに追加してみた。 # 画像の2値化 x…