10.4 代码示例

反卷积层在TensorFlow中已经实现了,直接调用就可以,其中也可以替换为上采样,也可以与BatchNormalization配合使用。

UpSampling2D(size=(pool_size,pool_size)),
ZeroPadding2D(padding=(pad,pad)),
Convolution2D(512, kernel, kernel, border_mode='valid'),
BatchNormalization(),

UpSampling2D(size=(pool_size,pool_size)),
ZeroPadding2D(padding=(pad,pad)),
Convolution2D(256, kernel, kernel, border_mode='valid'),
BatchNormalization(),

UpSampling2D(size=(pool_size,pool_size)),
ZeroPadding2D(padding=(pad,pad)),
Convolution2D(128, kernel, kernel, border_mode='valid'),
BatchNormalization(),

UpSampling2D(size=(pool_size,pool_size)),
ZeroPadding2D(padding=(pad,pad)),
Convolution2D(filter_size, kernel, kernel, border_mode='valid'),
BatchNormalization()

其他反卷积结构的代码可以在下述链接中查阅:

https://github.com/KamranSial/Fully_convolutional_networks/blob/master/FCN-trainer-coarse.ipynb

https://github.com/preddy5/segnet/blob/master/segnet.py

https://github.com/fchollet/keras/issues/5369