Keras – nibuiroフラグメント β

NN構築の失敗談

逐次更新…(笑 えない。

Pytorch

ResidualNet

RuntimeError: Given groups=1, weight of size [16, 3, 3, 3], expected input[30, 16, 101, 101] to have 3 channels, but got 16 channels instead

 BCHW: ネットワークの頭、中間のレイヤでsumの操作を加えるときにショートカット側で畳み込みしておかないとチャンネル数(フィルタ数)が合わずにエラーが吐かれる。
 

ValueError: Target and input must have the same number of elements. target nelement (16384) != input nelement (65536)

 BCHW: ネットワークの出力がターゲットのサイズと合致していないと吐かれる。適当なサイズ/数でPoolingするなどしてダウンサンプリングする。

Keras (TF backend)

DenseNet-BC

TypeError: __init__() got multiple values for argument 'axis'

 BHWC(恐らく): 畳み込みレイヤの出力をConcatenateを用いて連結させようとしたところ吐かれた。詳細は確認していないがconcatenateを代用することで解決。
 

ValueError: Negative dimension size caused by subtracting 2 from 1 for 'pool4/AveragePooling2D' (op: 'AveragePooling2D') with input shapes: [?,1,1,64]

 BHWC: Transition layerを含むDense blockを重ねすぎて(プーリング層を入れすぎて)吐かれた。Dense block(本質的にはプーリング層)を減らして解決。Dense blockをさらに重ねたければDenseNet-Bを採用すべし。